有如下程序:    #include<iostream>    using namespace std;    class TestClass    {    int a;    public:    TestClass(int x){a=x;}    v

admin2013-02-27  44

问题 有如下程序:    #include<iostream>    using namespace std;    class TestClass    {    int a;    public:    TestClass(int x){a=x;}    void show(){cout<<a;}    };    class TestClass1:public TestClass    {    int b;    public:    TestClass1(int i):TestClass(i+1),b(i){}    void show(){cout<<b;}    };    int main()    {    TestClass b(5),*p;    TestClass1 d(1);    p=&d;    p->show();    return 0;    }    该程序运行后的打印结果是(  )。

选项 A、5
B、1
C、0
D、2

答案D

解析 TestClass为TestClass1的基类,在主函数main中定义 TestClass对象b,*p。TestClass1对象d,P指向d,调用其show函数。“TestClass1(int i):TestClass(i+1),b(i){}”语句中的TestClass基类参数为2,所以show输出2。
转载请注明原文地址:https://kaotiyun.com/show/XqVp777K
0

最新回复(0)