首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
52
问题
有如下程序:
#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全国计算机二级
相关试题推荐
若有下面的函数调用:fun(a+b,3,max(n-1,b))则fun的实参个数是()。
下列关于类的析构函数的叙述中,错误的是
下面对类-对象主要特征描述正确的是
结构化程序设计中,下面对goto语句使用描述正确的是
已知函数func的原型为intfunc(int,int);下列重载函数原型中错误的是
某个工厂有若干个仓库,每个仓库存放有不同的零件,相同零件可能放在不同的仓库中。则实体仓库和零件间的联系是
下列有关C++流的表述中,错误的是
使用VC6打开考生文件夹下的源程序文件modil.cpp,该程序运行时有错误,请改正其中的错误,使程序正确运行。并且使程序输出的结果为:OK注意:错误的语句在∥********error********的下面,修改该语句即可。#in
软件生命周期可分为定义阶段、开发阶段和维护阶段,下面不属于开发阶段任务的是
在数据处理中,其处理的最小单位是()。
随机试题
漏出性胸液化验特点是
A.禁用于8岁以下儿童B.禁用于18岁以下儿童及青少年C.禁用于单纯性疱疹性角膜炎患者D.禁用于胆道阻塞患者E.禁用于早产儿、新生儿氨基糖苷类
根据《注册安全工程师管理规定》,注册安全工程师的下列()行为是违法的。
为防止纤维或粉尘积聚在管道和散热器上受热自燃,散热器表面平均温度不应超过()。
下列项目属于长期资产的是()。
凡具有民事权利能力和民事行为能力,并依法独立享有民事权利和承担民事义务的法人和其他组织,均可开立基本存款账户。 ( )
某企业以划拨方式取得了一块国有土地的使用权,并支付了征地费用350万元。因经营需要,该企业以该土地使用权设定抵押,贷款1000万元,并履行了法定的审批手续,依法办理了抵押物登记。该土地可折价1300万元,应缴纳土地使用权出让金600万元。如果该企业无力归还
商业银行的信用创造职能是在信用中介和支付中介职能的基础上产生的,它是商业银行的特殊职能。()
简述推定承诺的有效条件。
In1994,theCarnegieCorporationreleasedareportto______.Itcanbeinferredthatthetoyindustry______.
最新回复
(
0
)