首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
33
问题
有如下程序:
#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://kaotiyun.com/show/KONp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下函数调用语句中含有参数的个数是excc((v1,v2),(v2,v3,V4),v6);
派生类对象对其基类中的什么成员是可访问的?
C++语言中规定函数的返回值的类型是由()。
下面的说明中,正确的函数定义是()。
静态成员函数可以直接访问类的【】成员,不能直接访问类的【】成员。
有如下的类模板定义:template<typenameTYPE>classMyClass{TYPEn;public:MyClass(TYPEk);
在面向对象的程序设计中,下列叙述中错误的是
下列关于队列的叙述中正确的是
下列语句段将输出字符’*’的个数为()。inti=100;while(1){i--;if(i==0)break;cout<<’*’;}
假定int类型变量占用两个字节,其有定义intx[10]={0,2,4};,则数组x在内存中所占字节数是
随机试题
小剂量胰岛素疗法治疗糖尿病酮症酸中毒时,胰岛素的剂量是每小时每公斤体重
下列疾病属于癌前期病变的是
下列哪种化学消毒灭菌剂不能杀灭芽孢( )。【历年考试真题】
印花税的征收范围主要是经济活动中最普遍、最大量的各种商事和产权凭证,具体包括()。
工程师无权签发的证书是( )。
计算机会计信息系统的数据处理方式不能由计算机自动完成。()
出口货物关税完税价格的项目中应包括()。
在信用风险管理中,需要构建的管理机制包括()。
PeopleofBurlingtonarebeingdisturbedbythesoundofbells.FourstudentsfromBurlingtonCollegeofHigherEducationarein
Abenefitperformanceisaperformanceforwhichacharitableorganizationhasboughtoutatadiscountedpriceand______fundsb
最新回复
(
0
)