有以下程序: #include <iostream> using namespace std; class A { public: virtual void show() {

admin2010-03-29  21

问题 有以下程序:
    #include <iostream>
    using namespace std;
    class A
    {
    public:
       virtual void show()
       {
            cout<<"A";
       }
    };
    class B  :  public A
    {
    public:
       void show()
       {
           cout << "B";
       }
    };
    void display( A * obj )
    {
          obj-> show();
    }
    int main ( )
    {
         A demol;
         B demo2;
         display( & demol  );
         display( & demo2 );
         return 0;
    }
     执行后的输出结果为【  】。

选项

答案AB

解析 本题考核赋值兼容原则以及派生与继承的应用。题中函数display()形参类型为类A,执行语句“display(&demo1);”则输出A。执行语句“display(&dem02);”时,由于show()函数为虚函数,所以调用类B中show()函数,输出B。所以最后结果为AB。
转载请注明原文地址:https://kaotiyun.com/show/VCjp777K
0

最新回复(0)