下列程序的输出结果为2,横线处应添加语句( )。 #include using namespace std; class TestClass 1 { public: void fun(){cout

admin2020-10-21  26

问题 下列程序的输出结果为2,横线处应添加语句(    )。
  #include
    using namespace std;
    class TestClass 1
    {
    public:
    void fun(){cout<<1;)
    };
    class TestClass2:public TestClass 1
    {
    public:
    void fun(){cout<<2;}
    };
    int main()
    {
    TestClass 1*p=new TestClass2;
    p->fun();
    delete p;
    return ():
    }

选项 A、public
B、private
C、virtual
D、protected

答案C

解析 由主函数main入手,定义TestClassl类的指针对象p指向派生类TestClass2。因为基类和派牛类中部有fun函数,题目要求输出为2,就是基类对象访问派生类中fun函数。通过虚函数与指向基类对象的指针变量的配合使用,就能方便调用同名函数。所以这里将基类中的fun函数声明为virtual。并且当一个成员函数被声明为虚函数后,其派生类中的同名函数自动成为虚函数。
转载请注明原文地址:https://kaotiyun.com/show/oAyp777K
0

相关试题推荐
最新回复(0)