您的位置:首页 > 编程语言 > C语言/C++

关于c++继承

2016-09-12 20:04 204 查看
下面的程序输出什么?为什么?

class Base

{

public:

int a;

Base() { a = 1; }

void println() { cout<<a<<endl;; }

};

class Child : public Base

{

public:

int a;

Child() { a = 2; }

};

int main()

{

Child c;

c.println();

cout<<c.a<<endl;

}

 

答案:

1,

2
c.println()调用父类的函数,父类里面定义的函数不可能看到子类当中的成员变量,

所以肯定是输出父类的a;

cout<<c.a;子类与父类有同名成员变量,子类的覆盖父类的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: