问题 填空题

执行以下程序后,输出结果第二行的内容是______。
#include<iostream>
using namespace std;
class TestClass

public:
virtual void who()cout<<"Base Class"<<endl;
;
class TestClass1:public TestClass

public:
virtual void who()cout<<"TestClass1 Class"<<endl;
;
class TestClass2:public TestClass

public:
virtual void who()cout<<"TestClass2 Class"<<endl;
;
int main(int argc,char*argv[])

TestClass obj1,*p;
TestClass1 obj2;
TestClass2 obj3;
P=&obj1;p->who();
p=&obj2;p->who();
p=&obj3;p->who();
return 0:

答案

参考答案:TestClass1 Class

解析: TestClass为基类,TestClass1和TestClass2都是TestClass的派生类。本题从main主函数入手,首先定义了TestClass类型的对象obj1和指针p,然后又分别定义了TestClass1和TestClass2的对象obj2和obj3。指针分别指向对象obj1、obj2和obj3,然后分别调用其成员函数who(),分别输出:“Base Class”,“TestClass1 Class”,“TestClass2 Class”。

填空题
问答题 案例分析题