C++学习-类域、友元、运算符重载、对象的生存期,可见域,作用域(2)

一、友元:

1、类的私有成员只有在类的内部访问,类的外部函数不能访问他们。

2、当一个函数定义为类的友元函数,这时函数就可以访问该类的私有成员。同时可以将类B定义为本类A的友元类,这样B类就可以访问类A的任何成员

3、友元函数用friend来声明,基本格式为:

friend 函数原型;

4、友元函数的重载:(要想一组重载函数全部成为类的友元,必须意义声明)

class exp

{

public:
friend void test(int);

};

void test();//not

void test(int);

void test(double);//not

5、友元类(类A作为类B的友元类,则A中所有的成员函数都是B的友元函数,可以访问B中的所有成员,A可以在B的public部分或者private部分进行声明,方法如下:friend [class]<类名>;//友元类类名)

二、运算符重载(为了使对用户自定义数据类型的数据的操作与内置数据的操作形式一样)

 运算符是一种通俗、直观的函数,系统本身就提供了多个重载版本。

int operator +(int,int)

double operator +(double,double)

 

猜你喜欢

转载自www.cnblogs.com/lyp1010/p/11737073.html