无法进入的公共财产

时间:2015-07-17 15:00:58

标签: c++

我尝试使用某些类制作基本的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中是公开的。我做错了什么?

1 个答案:

答案 0 :(得分:4)

您私下继承A

class B : A {
       ^^^^^^

您需要公开继承A

class B : public A {
       ^^^^^^^^^^^^^