问题描述: 无法访问另一个函数c++类中的成员。
回答: 在C++中,要访问另一个类中的成员,需要注意以下几点:
例如,假设我们有两个类A和B,B是A的友元类,我们可以通过以下方式访问B类中的成员:
class A {
public:
void somePublicFunction() {
B b;
b.someMemberFunction();
}
friend class B;
};
class B {
public:
void someMemberFunction() {
A a;
// 可以访问A类中的私有成员
a.somePrivateMember = 10;
}
};
int main() {
A a;
a.somePublicFunction();
return 0;
}
以下是一个简单示例:
class A {
private:
int somePrivateMember;
public:
int getSomePrivateMember() const {
return somePrivateMember;
}
void setSomePrivateMember(int value) {
somePrivateMember = value;
}
};
class B {
public:
void someMemberFunction() {
A a;
// 可以通过访问器函数间接访问A类中的私有成员
a.setSomePrivateMember(10);
int value = a.getSomePrivateMember();
}
};
通过上述方式,可以在C++中访问另一个类中的成员。然而,具体的访问方式还取决于目标类成员的访问权限以及当前类与目标类之间的关系。
领取专属 10元无门槛券
手把手带您无忧上云