gpt4 book ai didi

c++ - 访问与父类是 friend 的类的私有(private)成员

转载 作者:行者123 更新时间:2023-12-01 14:12:49 24 4
gpt4 key购买 nike

考虑以下

class Base;

class A {
int x;

friend class Base;
};

class Base {
protected:
A a_obj;

public:
Base(){
a_obj.x; // works
}
};

class Derived : public Base {
public:
Derived(){
a_obj.x; // not accessible
}
};

我可以公开 x 的 getter 和 setter,或者公开对象,但这不是可取的。假设有一堆派生类,在 class A 中添加 friend class Derived 会使代码过于冗长。有没有办法说“A 是 Base 类的 friend ,都是 child ”

最佳答案

Is there a way to say "A is friends with class Base and all it's children"

没有。

可以做的是让基地成为 friend (就像你一样),并在基地中编写一个 protected 访问器, children 可以使用它来访问私有(private)成员。

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

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