我不明白为什么我的会员没有初始化。我有这样的事情:
class A
{
public:
A() {member = 0;}
int getMember() {return member;}
protected:
int member;
}
和
class B : public A
{
public:
B() : A() {member = 10;}
}
当我尝试从B获取成员的值时,它始终为0。 我在这里想念什么?
谢谢!
编辑:Ctor现已上市。
答案 0 :(得分:3)
我尝试了两件事,他们都给出了预期的结果:
class A
{
public:
A() {member = 0;}
int getMember() {return member;}
protected:
int member;
};
class B : public A
{
public:
B() : A() {member = 10;}
};
int main() {
A* a = new B();
cout << a->getMember() << endl;
B b;
cout << b.getMember() << endl;
return 0;
}
返回
output:
10
10
查看代码