有如下程序: #include<iostream> using namespace std; class Base{ public: virtual void functionl() {cout<<’0’;} void function2(){cout<<

admin2019-06-12  30

问题 有如下程序:
#include<iostream>
using namespace std;
class Base{
public:
virtual void functionl() {cout<<’0’;}
void function2(){cout<<’1’;}
};
class Derived:public Base{
public:
void function1(){cout<<’2’;}
void function2(){cout<<’3’;}
};
int main(){
Base* p=new Derived();
p->ftmction1();
p->function2();
return 0;
};
运行时的输出结果是,(    )。

选项 A、01
B、21
C、03
D、23

答案B

解析 函数function1()在基类Base中定义为虚成员函数,而在派生类Dervied中重新进行了定义,输出字符2,函数function2()在基类Base中定义虚成员函数,在主函数中使用指向基类的指针变量p访问function2()时,输出1。
转载请注明原文地址:https://jikaoti.com/ti/qSA0FFFM
0

最新回复(0)