【发布时间】:2016-11-26 14:53:54
【问题描述】:
我正在尝试将一个类成员函数指定为另一个类的朋友, 但它让我只能访问公共成员,而不是受保护或私人成员。它与免费功能一起工作正常。
Visual Studio 错误:
member "Class1::protected_int" (declared at line 9) is inaccessible
member "Class1::private_int" (declared at line 11) is inaccessible
class Class2;
class Class1 {
friend void Class2::TEST(const Class1& ex);
friend void TEST(const Class1& ex);
public:
int public_int;
protected:
int protected_int;
private:
int private_int;
};
class Class2{
public:
void TEST(const Class1& ex);
};
void Class2::TEST(const Class1& ex){
int pub = ex.public_int;
int pro = ex.protected_int;
int pri = ex.private_int;
}
void TEST(const Class1& ex){
int pub = ex.public_int;
int pro = ex.protected_int;
int pri = ex.private_int;
}
【问题讨论】:
标签: c++ class friend friend-function