首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include<iostream> using namespace std; class A{ public: virtual void f(){cout<<1;} void>>g(){cout<<2;} }; class B:public
有如下程序: #include<iostream> using namespace std; class A{ public: virtual void f(){cout<<1;} void>>g(){cout<<2;} }; class B:public
admin
2019-06-12
82
问题
有如下程序:
#include<iostream>
using namespace std;
class A{
public:
virtual void f(){cout<<1;}
void>>g(){cout<<2;}
};
class B:public A{
public:
virtual void f(){cout<<3;}
void g(){cout<<4;}
};
void show(A &a){a.f();a.g();}
int main(){
B b;
show(b);
return 0;
}
运行时的输出结果是( )。
选项
A、12
B、34
C、14
D、32
答案
D
解析
在派生类classB中对基类中的虚拟成员函数virtualvoidf()和实函数void g()进行了重新定义,在主函数中通过语句show(b);调用派生类中的虚函数virtual void f(){cout<<3;}输出3,调用基类的实函数void g(){eout<<2;}输出2。所以选项D为正确答案。
转载请注明原文地址:https://kaotiyun.com/show/pG8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有3个关系R、8和T如下:由关系R和S通过运算得到关系T,则所使用的运算为()。
有以下程序:#includeusingnamespacestd;classTestClass{public:TestClass(intr1.intr2){R1
有如下程序:#includeusingnamespacestd;classTestClass,{public:TestClass(){cout
以下程序输出结果是():#includeusingnamespacestd;voidadd(intx,intY,int*z){*z=y+x;}int
若类A和类B的定义如下:#includeclassA{inti,j;public:intgeti(){returni;}};classB:p
下面关于虚函数的表述中正确的是()。
下面关于运算符重载中正确的是()。
A、 B、 C、 D、 Dc++语言中析构函数为符号“~”加类名,且析构函数没有返回值和参数,故前不加void关键字。所以正确的形式应该是~Myclass()。
按照标识符的要求,开头的符号不能是()。
随机试题
在行政执行的过程中,执行工作的关键是()
关于人性的观点,下列选项中正确的是
Itwaswonderfulupthere.Ralphwantedtoreachoutand【21】astar,forthey【22】soclose.Hecouldseetheearthgettingsmaller
陷窝细胞多出现在下列哪个类型的霍奇金病
对强心苷所致的重症快速心律失常治疗用对轻度快速心律失常的治疗用
结核病的基本病变属于
某建设项目投产后,应付账款的最低周转天数为15天,预计年销售收入为12000万元,年经营成本9000万元,其中外购原材料、燃料及其他材料费为7200万元,则该项目的应付账款估算额为()万元。
四家公司的资本结构如下所示:下列哪家公司的杠杆最大?
以下选项中()不属于扩张性货币政策控制工具。
机器人的冲击扩散到白领后,麻省理工学院经济学家奥托指出,“雇佣将出现两极化”,也就是最后只剩下高端和低阶的工作者可以生存,高收入的一端以创新取胜,另一端则是靠体力赚取微薄薪资,广大的中阶工作者最容易被取代。给这段文字加个标题,最合适的是:
最新回复
(
0
)