C++友元函数(未完)

来源:互联网 发布:js实现tab切换 编辑:程序博客网 时间:2024/06/05 00:15
//C++友元函数功能:为了使其他类的成员函数直接访问该类的私有变量。即:允许外面的类或函数去访问类的私有变量和保护变量,从而使两个类共享同一函数。实际上具体大概有下面两种情况需要使用友元函数:(1)运算符重载的某些场合需要使用友元。(2)两个类要共享数据的时候。成员函数和友元函数的区别:成员函数是类的儿子,友元函数是类的朋友,友元函数没有this指针,不能被继承//代码一:普通友元函数class A { private:  int age;  friend void Print(const A& obj);//声明友元函数 };void Print(const A& obj){   //函数体}void main(){  A obj;  Print(obj);//函数Print可以使用A的私有数据age}//代码二:友元类(类B可以操作类C的数据和方法)class B;class C{public:  void disp(B &);};void C::disp(B &x) //函数disp()为类C的成员函数,也是类A的友元函数{  cout<<"B is:"<<x.name<<",age:"<<x.age<<endl;//借助友元,在C的成员函数disp中,借助B的对象,直接访问B的私有变量}class B{private:  char *name;  int age;friend C; //声明类C是类B的友元friend void C::disp(B &);  //此函数类B可以使用};

参考资料
http://www.cnblogs.com/BeyondAnyTime/archive/2012/06/04/2535305.html

0 0
原创粉丝点击