gpt4 book ai didi

c++ - 从好友类访问私有(private)成员

转载 作者:行者123 更新时间:2023-11-30 04:06:40 32 4
gpt4 key购买 nike

我没有发帖寻求帮助,而是想尝试自己解决这个问题,但经过数小时的 Google 搜索并观看了无数的 YouTube 视频后,我还是没有成功。我想做的是创建一个友元类,然后从该类访问“父”类的私有(private)成员。我添加了 friend class bar,如下所示,然后尝试使用 .-> 符号来访问私有(private)成员值但没有运气。我感觉我链接正确了,但这只是正确调用私有(private)成员的问题吗?

//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();
};

//源/classbar.cpp

int bar::Test() {
// nothing working
// head->data;
// head.data;
}

最佳答案

为了执行 head->data 你需要一个 foo 对象在 bar 或者传递给 bar::Test( )。那么它可能是这样的:

class bar {
foo f;
public:
int Test();
}

int bar::Test() {
f.head->data;
}

当然不要忘记初始化成员变量f

关于c++ - 从好友类访问私有(private)成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22821086/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com