首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class B{ public: virtual void f(){cout
有如下程序: #include using namespace std; class B{ public: virtual void f(){cout
admin
2013-04-11
39
问题
有如下程序:
#include
using namespace std;
class B{
public:
virtual void f(){cout<<“B”;}
void g(){cout<<“B”;}
};
class D:public B{
public:
void f(){cout<<“D”;)
void g(){cout<<“D”;}
};
void h(B*p){p一>f0;p一>g();}
int main(){
D obj;
h(&0bj);
return 0:
}
运行这个程序的输出结果是
选项
A、DD
B、BB
C、BD
D、DB
答案
D
解析
在基类B中定义虚函数f()和成员函数g(),而在派生类D中定义了函数f()和同名函数g()。而函数h中的形参为指向基类的指针变量p,所以在主函数中执行h(&obj)时,会调用派生类的函数f(),输出D,再调用基类的函数gO,输出B。
转载请注明原文地址:https://kaotiyun.com/show/hINp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列程序的输出结果是【】。#include<iostream>usingnamespacestd;classA{inta;public:A():a(9){}virtualvoidprint()const{cout<<
写出下列程序的运行结果【】。#include<iostream.h>.#include<fstream.h>#include<stdlib.h>voidmain(){fstreamoutfile,infile;outfile.
C++中的类有两种用法:一种是类的实例化,即生成类的对象,并参与系统的运行,另一种是通过()派生出新的类。
假定Myclass为一个类,则执行Myclassa[4],*p[2];语句时,自动调用该类的构造函数()次。
多重表文件和倒排文件都归属于【】文件。
下列叙述中错误的是()。
【】允许用户为类定义一种模式,使得类中的某些数据成员及某些成员函数的返回值能取任意类型。
除析构函数外,不能带有参数的函数还有【】。而且它的返回数据类型不能随便指定,而由return语句中返回变量的类型决定。
下列关于this指针的叙述中,正确的是()。
随机试题
在企业获取应用系统的方式中,通过自行开发制作出全新的应用系统的方式是________。
阻断Ach对虫体肌肉的兴奋性并使虫体松弛麻痹的是
关于老年人用药A、氯氮(利眠宁)B、阿托品C、噻嗪类利尿剂D、可的松类药物E、吲达帕胺老年人应尽量不用,如必须用,需加入钙剂及维生素D的是
公共建筑和乙、丙类高层厂房的下列部位,()应设火灾应急照明。
用于国家三、四等水准测量及一般工程水准测量的水准仪是()。
下列业务会引起资产与负债同方向增减变化的有()。
下列服务业中,不宜采用核算期内所投入的成本来计算总产出的行业有()。
通常认为,相关系数|r|的取值范围为()时,则是显著相关。
下列可以作为证人的人的是()。
根据我国《行政许可法》,下列说法不正确的是:
最新回复
(
0
)