我是 C++ 编程的新手,我们可以将类的一些成员声明为其他类的朋友吗?这意味着假设 A 类有三个成员函数,而不是将整个类声明为其他 B 类的朋友(比如说),我可以只将 A 类的一个成员声明为 B 类的朋友,所以请帮忙。
问问题
250 次
5 回答
2
是的:
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
};
于 2013-02-05T06:02:30.917 回答
1
在声明友元类时,友元类的所有成员函数都成为声明友元类的类的友元。来源
于 2013-02-05T04:52:46.143 回答
1
是的,您可以将单个成员函数声明为另一个类的朋友。
在线样品:
#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;
}
于 2013-02-05T04:52:49.857 回答
1
于 2013-02-05T04:54:03.237 回答
-1
于 2013-02-05T04:56:38.680 回答