首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include<iostream> using namespace std; class XX { protected: int k; public: XX(int n=5):k(n){}; ~XX() { cout<<"XX"; } vi
有如下程序: #include<iostream> using namespace std; class XX { protected: int k; public: XX(int n=5):k(n){}; ~XX() { cout<<"XX"; } vi
admin
2016-10-28
36
问题
有如下程序:
#include<iostream>
using namespace std;
class XX
{
protected:
int k;
public:
XX(int n=5):k(n){};
~XX()
{
cout<<"XX";
}
virtual void f()const=0;
};
inline void XX::f()const
{
cout<<k+3;
};
class YY:public XX
{
public:
~YY()
{
cout<<"YY";
}
void f()const
{
cout<<k-3;XX::f();
}
};
int main()
{
XX&p=*new YY;
p.f();
delete&p;
return0;
}
执行上面的程序将输出( )。
选项
A、28XX
B、28YYXX
C、33XX
D、-33XXYY
答案
A
解析
类YY公有派生于类XX,派生类对象可以替代基类对象向基类对象的引用进行赋值初始化,XX &p=*new YY语句定义了XX对象p引用,并用YY对象初始化,p并不是YY对象的别名,是xx基类对象的别名,故先调用基类XX的构造函数将k初始化为5,p.f()首先输出k=3即2,然后调用XX::f()输出k+3即8,delete&p删除p,调用XX的析构函数输出“XX”。
转载请注明原文地址:https://www.kaotiyun.com/show/KONp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下数据结构中不属于线性数据结构的是______.
对于派生类的构造函数,在定义对象时构造函数的执行顺序为:先执行调用______的构造函数,再执行调用子对象类的构造函数,最后执行派生类的构造函数体中的内容。
静态成员函数可以直接访问类的【】成员,不能直接访问类的【】成员。
以下关于C++语言类的说法中正确的是
mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回,请填空。intmystrlen(char*str){inti;for(i=0;______!=’\0’;i++);
算法分析的目的是
c++流中重载了运算符<<,它是一个
概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是()。
在算法正确的前提下,评价一个算法的两个标准是【】。
在C++语言中,打开一个文件就是将这个文件与一个什么建立关联?
随机试题
下列符合左心衰竭的典型体征是
垂体性侏儒症最佳治疗药物是
电气防火防爆技术包括消除或减少爆炸性混合物、消除可燃源、隔离和间距、爆炸危险环境接地和频率等。下列爆炸危险环境电气防火燃爆技术的要求中,正确的是()。
生活污水量约占生活用水量的()
投标人经复核认为招标人公布的招标控制价未按照《建设工程工程量清单计价规范》(GB50500—2013)的规定进行编制的,应在招标控制价公布后()天内向招标投标监督机构或(和)工程造价管理机构投诉。
下列有关法律关系变更的说法正确的是( )。
根据商业银行的业务特征及诱发风险的原因,通常将商业银行面临的风险划分为()。
黄淮海平原的气候特征是()。
法律的规定得到具体实施后,对普通人将来的行为会产生影响。这表明法律具有:
在数据库系统中,数据的最小访问单位是______。
最新回复
(
0
)