首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #include <iostream> using namespace std; class Base { protected: Base( ){cout<<’A’; } Base(char c)
有如下程序 #include <iostream> using namespace std; class Base { protected: Base( ){cout<<’A’; } Base(char c)
admin
2017-10-17
35
问题
有如下程序 #include <iostream> using namespace std; class Base { protected: Base( ){cout<<’A’; } Base(char c) { cout<<c; } }; class Derived: public Base { public: Derived(char c){ cout<<c; } }; int main( ){ Derived d1 (’B’); return 0; } 执行这个程序屏幕上将显示输出
选项
A、B
B、BA
C、AB
D、BB
答案
C
解析
本题考查的是派生类对象的构造。建立派生类对象时,构造函数的执行顺序如下:
(1) 执行基类的构造函数,调用顺序按照各个基类被继承时声明的顺序(自左向右):
(2) 执行成员对象的构造函数,调用顺序按照各个成员对象在类中声明的顺序(自上而下):
(3) 执行派生类的构造函数。
所以本题在建立派生类Derived的对象d1时会先调用基类Base的构造,由于派生类中没有通过初始化列表显式构造基类对象,所以调用的是基类的默认构造函数,会输出一个’A’。然后调用自身的构造函数,输出传入的构造参数’B’。故程序输出的结果是:AB。所以应该选择C。
转载请注明原文地址:https://kaotiyun.com/show/EJAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下程序:#include<iostream>#include<fstream>usingnamespacestd;intmain(){ofstreamofile;cha
有以下程序:#include<iostream>usingnamespacestd;intmain(){intx;for(inti=1;i<=100;i++)
友元运算符。obj1>obj2被C++编译器解释为()。
()既可重载为一元运算符,又可重载为二元运算符。
如果一个对象部分地包含自己,或自己定义自己,则称这个对象是【 】的对象。
在表达式x+y*z中,“+”是作为成员函数重载的运算符,“*”是作为非成员函数重载的运算符。下列叙述中正确的是()。
运算符函数调用格式的表达式y/x++与表达式y.operator/(operator++(x,0))的含义相同,由此可看出()。
多数运算符既能作为类的成员函数重载,也能作为类的非成员函数重载,但[]运算符只能作为类的______函数重载。
利用成员函数对双目运算符重载,其左操作数为______,右操作数为______。
下列字符串中,正确的C++标识符是()。
随机试题
德育普遍存在于一切教学之中。
成本中心
在需要层次理论中,属于安全需要的是()
血红素合成的原料是对ALA合酶具有强烈抑制作用的是
1岁小儿,血压11/8kPa,面及四肢明显凹陷性浮肿,腹膨隆,移动性浊音(+),HB125g/L,胆固醇7.2mmol/L,血浆蛋白42g/L,白蛋白188/L,BUN5.3mmol/L,尿蛋白(++++),RBC偶见/HP。最可能的诊断是
下列属于规划的功能的是()。
首次提出把教育学作为一门独立的科学的人是()。
倭马亚王朝时期进行税制改革的著名哈里发是()。
Hecarriedtheparcelhomehimself,buthe_______so,theshopcouldhavesentit.
LippettsHillisnowthemaintrainingcentrewherearmyofficersarereceivingtraining.Somepolicemenwhocarryoutspecial
最新回复
(
0
)