首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class B{ public: virtual void f(){cout
有如下程序: #include using namespace std; class B{ public: virtual void f(){cout
admin
2020-04-07
17
问题
有如下程序:
#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->f();p->g();}
int main(){
D obj;
h(&obj);
return 0:
}
运行这个程序的输出结果是( )。
选项
A、DD
B、BB
C、BD
D、DB
答案
D
解析
在基类B中定义虚函数f()和成员函数g(),而在派生类D中定义了函数f()和同名函数g()。而函数h中的形参为指向基类的指针变量p,所以在主函数中执行h(&obj)时,会调用派生类的函数f(),输出D,再调用基类的函数g(),输出B。
转载请注明原文地址:https://www.kaotiyun.com/show/CA8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
设有以下类和对象的定义: class A { public: int m; … }; A k1,k2,*p1,* p2; 则下面针对成员变量m的引用,错误的是
下面程序的运行结果是______。#include<iostream.h>voidfun(int&a,intb=3){staticinti=2;a=a+b+i;i=i+a;}voidm
A、 B、 C、 D、 A因为成员函数可以在类体内定义,也可以在类体外定义,所以成员函数不一定都是内联函数;成员函数可以重载,可以设置参数的默认值,成员函数可以是静态的。
有以下程序 main(int argc, chara*argv[]) { int n,i=0; while(argv[1][i]! =’\0’) { n=fun();i++;} cout<<n*argc<<endl;
在一个单链表HL中,若要向表头插入一个由指针p指向的节点,则需要执行语句序列()。
数据结构分为逻辑结构与存储结构,线性链表属于【】。
在下列关于二叉树的叙述中,选出正确的一项()。
已知将运算符“+”和“*”作为类Complex的成员函数重载,设c1和c2是类Complex的对象,则表达式cl+c2*c1等价于
在函数定义前加上关键字“inline”,表示该函数被定义为()。
下列字符串中不能作为C++标识符使用的是()。
随机试题
《詞詮》的作者是【】
A.左支气管纵隔干B.左、右腰干C.右锁骨下干D.左锁骨下干E.左颈干注入乳糜池的淋巴干是
关节炎症时引起滑膜液黏稠度减低的原因是
国有大、中型企业总会计师的任职资格、任免程序、职责权限由( )规定。
关于内源性动机和外源性动机的说法,错误的是()。
下列是我国小学生的一些需要,依据马斯洛的需要层次理论,选项中层次最高的是()
文艺复兴
若服务器系统年停机时间为10分钟,那么系统可用性至少达到()。
Whywasthewomannotatthemeeting?
Inaddition,thepaperinstitutedacontentauditthatevaluatesthefrequencyandmannerofrepresentationofwomanandpeople
最新回复
(
0
)