首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class vehicle{ public: virtual int wheels()eonst{return 0;} };
有如下程序: #include using namespace std; class vehicle{ public: virtual int wheels()eonst{return 0;} };
admin
2017-02-18
75
问题
有如下程序:
#include
using namespace std;
class vehicle{
public:
virtual int wheels()eonst{return 0;}
};
class Car:public Vehicle{
public:
int wheels()eonst{return 4;}
};
void f1(Vehicle v){cout<
void f2(Vehicle&v){cout<
void f3(Vehicle*pv){cout<
wheels()<<’’;}
int main(){
Car c;
f1(c);t2(c);t3(&c);
return 0;
}
运行后的输出结果是( )。
选项
A、4 4 4
B、0 4 4
C、4 0 4
D、4 4 0
答案
B
解析
C++中,成员函数调用要触发多态需要满足两个条件:①被调用的成员函数必须是虚成员函数。②必须通过基类类型的引用或指针进行函数调用。
题意中,main()函数首先构造Car对象c,然后将对象c传给三个函数f1()、f2()和f3(),其中f1()的参数是基类类型对象,函数体中调用的是基类的成员函数,输出0;12()的参数是基类类型对象的引用,函数体中调用的类成员函数是虚函数,满足多态条件,输出4;f3()的参数是基类类型对象的指针,甬数体中调用的类成员函数是虚函数,满足多态条件,输出4。故本题答案为B选项。
转载请注明原文地址:https://kaotiyun.com/show/RIAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列程序的运行结果为#include<iostream.h>inti=0;classA{public:A(){i++;}};voidmain(){Aa,b[3
C++中运算符优先级由高到低排列正确的是()。
软件设计模块化的目的是【】。
在C++语言的面向对象程序设计框架中,【】是程序的基本组成单元。
下面程序的结果是#include<iostream.h>classA{public:A(){cout<<"construtA"<<endl;}vir
能正确表示逻辑关系:“a≥10或a≤0”的C++语言表达式是
数据库设计包括两个方面的设计内容,它们是
利用继承能够实现【】。这种实现缩短了程序的开发时间,促使开发人员复用已经测试和调试好的高质量软件。
下面四个关键字中,说明友元函数的是( )。
若需要利用形参直接访问实参,则应把形参变量说明为( )参数。
随机试题
简述选择国际市场中间商的决策。
常用于抗感染性休克的药是:
软线摄影的管电压范围为
G公司是一家以微波炉为主的生产型企业,其在微波炉市场基本占据统治地位。根据分析,该企业拥有独特的机器设备,出产的产品比一般公司的产品质量高、成本低;又加上企业品牌家喻户晓。当G公司新推出一种微波炉时,广大消费者都争先购买,取得了非常好的市场回馈。该资料体现
中国共产党第一次全国代表大会选举()为中央局书记。
秦汉时期设立的音乐机构是()。
阅读下面的文章,回答问题。我们在十七岁时干些什么舒婷17岁,有个共同点,就是每天在镜子前,龇牙咧嘴挤压青春痘。儿子现
软件开发离不开系统环境资源的支持,其中必要的测试数据属于
•Readthearticlebelowabouttraining.•ChoosethebestwordtofilleachgapfromA,B,CorDontheoppositepage.•Fore
It’shotnowinAfghanistan,where35%ofthepopulationisunder-fed.Butsoonitwillbecold,andmanyofthecountry’sroads
最新回复
(
0
)