[英]friend class declaration
我是C ++编程的新手,我们可以将某些班级成员声明为其他班级的朋友吗? 这意味着,假设A类具有三个成员函数,而不是将整个类声明为与其他B类的朋友(例如),我只能将A类的一个成员声明为B类的朋友,所以请提供帮助。
是:
class A
{
public:
void func_1();
void func_2();
void func_3();
};
class B
{
friend void A::fund_2();
void plop(); // only A::func_2() can call this function
};
在声明朋友类时,该朋友类的所有成员函数都成为声明该朋友类的类的朋友。 资源
是的,您可以将一个成员函数声明为另一个类的朋友。
在线样本 :
#include<iostream>
class Myclass;
class Otherclass
{
public:
void doSomething(Myclass &obj);
};
class Myclass
{
int i;
friend void Otherclass::doSomething(Myclass &obj);
};
void Otherclass::doSomething(Myclass &obj)
{
obj.i = 10;
std::cout<<obj.i;
}
int main()
{
Myclass obj;
Otherclass obj2;
obj2.doSomething(obj);
return 0;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.