我想尝试自己解决这个问题,而不是寻求帮助,但是经过几个小时的搜索谷歌和观看无数的YouTube视频,我都没有成功。我想要做的是创建一个朋友类,然后从该类访问"父母"的私人成员。类。我添加了friend class bar
,您将在下面看到,然后尝试使用.
和->
符号来访问私有成员的值,但没有运气。我有一种感觉,我正确地链接,但它只是正确地呼叫私人会员?
// Headers / classfoo.h
struct node {
int data;
node* next;
};
class foo {
public:
friend class bar;
foo();
private
node *head;
};
// Headers / classbar.h
class bar {
public:
int test();
};
// Source / classbar.cpp
int bar::Test() {
// nothing working
// head->data;
// head.data;
}
答案 0 :(得分:2)
要执行head->data
,您需要foo
中的bar
个对象或传递给bar::Test()
。然后它可能是这样的:
class bar {
foo f;
public:
int Test();
}
和
int bar::Test() {
f.head->data;
}
当然不要忘记初始化成员变量f
。