非常简单的程序。 B类继承A和我试图打印两个数据成员,但A类的数据成员a
被打印为垃圾值,而不是由于某种原因的实际值。
#include <iostream>
using namespace std;
class A {
int a;
public:
A(int x) {
x = a;
}
int getA() {
return a;
}
};
class B : private A {
int b;
public:
B(int x, int y) : A(y) {
b = x;
}
void print() {
cout << getA() << endl << b << endl;
}
};
int main() {
B b(10,20);
b.print();
return 0;
}
输出:
1627414140
10
答案 0 :(得分:12)
您的错误在这里:
A(int x) {
x = a;
}
我相信你希望这样:
A(int x) {
a = x;
}