通常对于普通函数来说,要访问类的保护成员是不可能的,如果想这么做那么必须把类的成员都生命成为public(共用的),然而这做带来的问题遍是任何外部函数都可以毫无约束的访问它操作它,c++利用friend修饰符,可以让一些你设定的函数能够对这些保护数据进行操作,避免把类成员全部设置成public,最大限度的保护数据成员的安全。 友元能够使得普通函数直接访问类的保护数据,避免了类成员函数的频繁调用,可...
分类:
编程语言 时间:
2014-08-04 18:03:27
阅读次数:
226
简介:友元可以访问与其有好友关系的类中的私有成员。 友元包括友元函数和友元类。【1】将普通函数声明为友元函数#includeusing namespace std;class Time{ public: Time(int,int,int); ...
分类:
其他好文 时间:
2014-08-04 14:07:47
阅读次数:
204
为什么要使用友元函数? 在实现类之间数据共享时,减少系统开销,提高效率
如果类A中的函数要访问类B中的成员(例如:智能指针类的实现),那么类A中该函数要是类B的友元函数
为了使其他类的成员函数直接访问该类的私有变量。即:允许外面的类或函数去访问类的私有变量和保护变量,从而使两个类共享同一函数。此时可...
分类:
编程语言 时间:
2014-08-04 13:45:37
阅读次数:
354
重载限制多数C++运算符都可以用下面的方式重载。重载的运算符不必是成员函数,但必须至少有一个操作数是用户自定义的类型。下面详细介绍C++对用户定义的运算符重载的限制。1 重载后的运算符必须至少有一个操作数是用户自定义的类型,这将防止用户为标准类型重载运算符。因此,不能将减法运算符(-)重载为doub...
分类:
编程语言 时间:
2014-07-31 02:23:55
阅读次数:
336
is-a关系 类包含关系
构造函数 复制构造函数 重载赋值操作符 析构函数
动态内存空间分配和释放 new delete操作
static 数据成员
友元函数 重载输入>>和输出<<操作符...
分类:
编程语言 时间:
2014-07-31 00:01:45
阅读次数:
439
友元是一种定义在类外部的普通函数或类,但它需要在类体内进行说明,为了与该类的成员函数加以区别,在说明时前面加以关键字friend。友元不是成员函数,但是它可以访问类中的私有成员。友元的作用在于提高程序的运行效率,但是,它破坏了类的封装性和隐藏性,使得非成员函数可以访问类的私有成员。...
分类:
编程语言 时间:
2014-07-29 22:09:02
阅读次数:
293
本篇主要讲了友元、通过友元重载函数运算符以及类型转换,总的来说写的还是比较详细的,花了我不少功夫,这里给大家看下...
分类:
编程语言 时间:
2014-07-29 21:52:12
阅读次数:
396
通过继承能够从已有的类派生出新的类,而派生类继承了基类的特征,包括方法。正如继承一笔财产要比自己白手起家容易一样,通过继承派生出的类通常比设计新类要容易得多。下面是可以通过继承完成的一些工作。
①可以在已有类的基础上添加功能。
②可以给类添加数据。
③可以修改类方法的行为。
C++有三种继承方式:公有继承、保护继承和私有继承。
一、公有继承
公有继承是最常用的方式,它建立一种i...
分类:
其他好文 时间:
2014-07-28 16:32:53
阅读次数:
506
多重继承描述的是有多个直接基类的类。多重继承会带来两个主要的问题:
①从两个不同的基类继承同名方法;
②从两个或更多相关基类那里继承同一个类的多个实例。例如:
class A
{
private:
string name;
int id;
public:
virtual void f();
...
};
class B:public A
{
private...
分类:
其他好文 时间:
2014-07-28 16:32:06
阅读次数:
237
1.java中没有友元类,需要public,private,protected,package等关键字来限制2.python单例模式的实现http://blog.csdn.net/ghostfromheaven/article/details/76718533.命名法有匈牙利,骆驼,帕斯卡等命名法h...
分类:
其他好文 时间:
2014-07-28 02:58:39
阅读次数:
234