执行以下程序后,输出结果第二行的内容是__________。 #include using namespace std; class TestClass { public: virtual void

admin2012-12-29  29

问题 执行以下程序后,输出结果第二行的内容是__________。
    #include
    using namespace std;
    class TestClass
    {
      public:
      virtual void wh00{cout<<“Base Class”<    };
    class TestClass 1:public TestClass
    {
      public:
      virtual void who(){cout<<“TestClass 1 Class”<    };
    class TestClass2:public TestClass
    {
      public:
      virtual void who(){cout<<“TestClass2 Class”<    };
    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:
    }

选项

答案1bstClass1 Class

解析 TestClass为基类,TestClass1和TestClass2都是TestClass的派生类。本题从main主函数入手,首先定义了Testclass类型的对象obj1和指针p,然后又分别定义了TestClass1和Testclass2的对象obj2和obj3。指针分别指向对象obj1、obj2和obj3,然后分别调用其成员函数who(),分别输出:“Base Class”,  “Testclass1 Class”,“TbstClass2 Class”。
转载请注明原文地址:https://kaotiyun.com/show/V5Vp777K
0

最新回复(0)