本文主要是介绍友元函数友元类,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
友元函数:
将普通函数声明为类的好朋友friend。这样在普通函数里面可以通过对象参数访问类的私有成员。
例如:
class Test2
{
public:
//友元函数的特点是:有一个参数是友元类的指针或引用
friend int OpMem(Test2 *p,int a);//友元函数
Test2(int a,int b)
{
this->a =a;
this->b =b;
}
int getA()
{
return this->a;
}
protected:
private:
int a ;
int b;
};
int OpMem(Test2 *p,int a)
{
p->a =a;
return 0;
}
void main()
{
Test2 t1(1, 2);
t1.getA();
OpMem(&t1, 10);// 友元函数;
}
友元类:
定义: 若F是A的友元类,则F类的所有成员函数都是A类的友元函数。相当于A结交了一堆好朋友。友元类通常设计为一种对数据操作或类之间传递消息的辅助类。
例如:
class A
{
friend class B ;// 声明B为A的友元类;
public :
void Display() {cout << x << endl ; } ;
private :
int x ;
} ;
class B
{
public :
void Set (int i ) {Aobject . x = i ; }
void Display () {Aobject . Display () ; }
private :
A Aobject ;
} ;
void main()
{
B Bobject ;
Bobject . Set ( 100 ) ;
Bobject . Display () ;
}
这篇关于友元函数友元类的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!