首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespaee std; class Shape{//图形类 public: //图形绘制函数(用显示字母模拟) virtual void draw()eons
有如下程序: #include using namespaee std; class Shape{//图形类 public: //图形绘制函数(用显示字母模拟) virtual void draw()eons
admin
2020-06-29
42
问题
有如下程序:
#include
using namespaee std;
class Shape{//图形类
public:
//图形绘制函数(用显示字母模拟)
virtual void draw()eonst{tout<<’S’;}
};
elass Triangle:public Shape{//三角形类
public:
void draw()eonst{eout<<’T’;}
};
void plot(Shape*s){s->draw();}
int main(){
Shape s;
Triangle t;
plot(&s);
plot(&t);
s=t:
s.draw();
return 0;
}
运行这个程序的输出是( )。
选项
A、STT
B、STS
C、TSS
D、TTT
答案
B
解析
main函数中,plot函数的参数通过Shape对象引用和Triangle对象引用来调用虚函数draw(),由于形参s是基类引用,所以符合多态性调用,程序将在运行时期根据s引用对象的类型决定调用哪个draw(),这里实参s是Shape类类型,因而调用Shape类的draw()函数,实参t是Triangle类类型,因而调用Triangle类的draw()函数,输出:“ST”;程序接着将派生类对象t赋给s,由于基类Shape没有显式的定义赋值运算符和将派生类对象作为参数的基类构造函数,因而编译器自动产生基类Shape的赋值运算符operator=(Shape&a),语句s=t将调用赋值运算符,a引用派生类对象t,完成赋值,此时s包含t中基类的副本,而t中剩下部分将被忽略,语句s.draw()将调用Shape类中的draw()函数,输出“s”,程序输出结果为“STS”。答案为B。
转载请注明原文地址:https://kaotiyun.com/show/j78p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
使用VC6打开考生文件夹下的源程序文件modil.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,并且使程序输出的结果为:a=7,b=0a=8,b=10注意:错误的语句在//********error********的下面
将十进制数转换为二进制数的递归函数定义如下:voidd2b(unsignedintn){if((n==0)||(n==1))cout
有如下类定义:classPass{staticintcount;public:Pass(){}voidshow()const;friendin
下面描述中不属于软件需求分析阶段任务的是
已知TV是一个类,并有函数func定义如下:voidfunc(){TVli,*net[2],company[3];}则在调用func()后,TV类的析构函数被调用的次数是
数据库管理系统是( )。
下列符号中能够作为C++标识符的是()。
耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是( )。
在软件开发中,需求分析阶段产生的主要文档是( )。
随机试题
在用除余法作为散列函数线性探测解决冲突的散列表中,写一删除关键字的算法,要求将所有可以前移的元素前移去填充被删除的空位,以保证探测序列不至于断裂。
由于全油基钻井液的热稳定性好,抗高温,因此可用于()。·
在区间[-1,1]上,不满足罗尔定理的函数是().
动物诊疗机构违反《中华人民共和国动物防疫法》规定,造成动物疫病扩散的,由动物卫生监督机构责令改正,处()罚款
性善“上行头目”,为治头痛的药是
下列关于有限责任公司股东转让股权的表述中,正确的是()。
在凭证输入过程中系统对会计科目的检验内容可能包括()。
下列作品中属于达.芬奇的有()。
在C语言中的if语句中,用作判断的表达式为()。
Unlikethescientist,theengineerisnotfreetoselecttheproblemwhichinterestshim;hemustsolvetheproblemsastheyaris
最新回复
(
0
)