C++如何将一个函数声明为2个类的友元函数
比如定义了2个类,两个类中都有相同的一个数据成员,将一个函数分别声明为这两个类的友元函数,在main()中调用这个函数计算这两个类中这个相同数据成员的和...
比如定义了2个类,两个类中都有相同的一个数据成员,将一个函数分别声明为这两个类的友元函数,在main()中调用这个函数计算这两个类中这个相同数据成员的和
展开
2个回答
展开全部
只要在两个要声明的类中,分别将该函数声明为友元函数即可。
C++对友元函数属于几个类并没有限制,只要在对应类中声明为友元,则该函数即为此类的友元函数。
参考代码如下:
声明函数void test();为类A和B的友元函数。
class A
{
private:
int a;
friend void test();
};
class B
{
private:
int a;
friend void test();
};
这时 test函数同时为A和B的友元函数。
展开全部
#include <iostream.h>
void Test();
class A
{
public:
void SetData(int a) { data = a; }
private:
int data;
friend void Test();
};
class B
{
public:
void SetData(int b) { data = b; }
private:
int data;
friend void Test();
};
void Test()
{
A a;
B b;
a.SetData(10);
b.SetData(20);
int c = a.data + b.data;
cout << "c = " << c << endl;
}
int main()
{
Test();
return 0;
}
代码没测试过
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询