【发布时间】:2017-07-13 15:02:24
【问题描述】:
所以,如果我有以下超级类:
class Super {
public:
string member = "bla bla";
void doSth() { cout << member; }
};
还有一个继承Super的Sub类:
class Sub : Super {
public:
string member2 = "bla bla 2";
};
然后,当我有一个 Sub 对象时,我无法联系到 Super 的成员,即使他们是公开的。
using namespace std;
int main(){
Sub sub;
cout << sub.member2 << endl;
cout << sub.member << endl; // error: public Super::member is inaccessible
sub.doSth(); // error: public Super::doSth() is inaccessible
}
但如果它们是公开的,为什么?还是我做错了什么?
【问题讨论】:
-
你有
private继承,但你想要public继承 -
谢谢,就是这样,我不是为了那个
-
如果您要询问有关 C++ 中继承的问题,最好使用术语
base和derived,而不是superclass和subclass。跨度>
标签: c++ subclass superclass public-members