我是c ++编程的新手,我们可以将一些类的成员声明为其他类的朋友。这意味着让我们说A类有三个成员函数而不是宣布全班作为其他B类的朋友(比方说)我可以宣布A类中只有一个成为B类的朋友,所以请帮忙。
答案 0 :(得分: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
};
答案 1 :(得分:1)
在朋友类的声明中,朋友类的所有成员函数成为声明朋友类的类的朋友。 source
答案 2 :(得分:1)
是的,您可以将单个成员函数声明为另一个类的朋友 的 Online Sample 强>:
#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;
}
答案 3 :(得分:1)
答案 4 :(得分:-1)