我尝试使用某些类制作基本的C ++程序并遇到问题。该计划如下:
#include<iostream>
using namespace std;
class A {
public:
int i;
A(int ai) {this->i = ai;}
A() {}
};
class B : A {
public:
A aa;
B(A &a) : A(a.i) {
aa = a;
}
};
int main()
{
A a(5);
B b(a);
cout << "Hello World!" << b.i;
return 0;
}
程序无法编译:
In function 'int main()':
Line 6: error: 'int A::i' is inaccessible
compilation terminated due to -Wfatal-errors.
但变量i
在类A
中是公开的。我做错了什么?
答案 0 :(得分:4)
您私下继承A
:
class B : A {
^^^^^^
您需要公开继承A
:
class B : public A {
^^^^^^^^^^^^^