首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下类定义: class MyClass{ public: MyClass(int d=0):val(d)+{} _________ //运算符函数+的声明 private: int val;
有如下类定义: class MyClass{ public: MyClass(int d=0):val(d)+{} _________ //运算符函数+的声明 private: int val;
admin
2020-05-14
41
问题
有如下类定义:
class MyClass{
public:
MyClass(int d=0):val(d)+{}
_________ //运算符函数+的声明
private:
int val;
};
若要使语句序列
MyClass X(2),y(4),z;
z=7+y:
y=x+3:
能够正常运行,横线处的声明语句应为( )。
选项
A、friendMyClass operator+(MyClass,MyClass);
B、friendMyClass operator+(MyClass&,MyClass&);
C、friendMyClass operator+(MyClass,MyClass&);
D、friendMyClass operator+(MyClass&,MyClass);
答案
A
解析
程序中MYClass类给出一个默认构造函数,形参d是整数类型,默认值为0,在成员初始化列表中使用形参d初始化val成员;语句序列中两个表达式:7+y和x+3说明加法运算符函数的两个操作数可以是整型,也可以是MyClass类型,如果是整型的话,需要使用默认构造函数将整数类型隐式转换成临时的MyClass类对象,此时赋给运算符函数时,就不可以使用引用类型了,所以选项B、C、D都是错误的,选项A是正确的,选项A中由于两个操作数都是在形参列表,所以只能将运算符函数定义为友元函数,而不能定义为成员函数,本题答案为A。
转载请注明原文地址:https://kaotiyun.com/show/tS8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面是一个模板声明的开始部分: Template<typename T>double... 由此可知
分析以下程序的执行结果______________。#includeclassSample{intx,y;public:Sample(){x=y=0;}Sample(inta,
下列关于运算符重载的说法中,不正确的是()。
有如下函数模板定义:template<typenameT1,typenameT2,typenameT3)T2plus(T1t1,T3t3){returnt1+t3;}则以下调用正确是()。
在结构化程序设计方法中,下面内聚性最弱的是()。
如果一个函数模板声明列出了多个参数,则每个参数之间必须使用逗号隔开,每个参数都必须重复使用关键词【】。
对于一个类定义,下列叙述中错误的是()。
下列关于运算符重载的叙述中,错误的是
下列关于关系运算的叙述中正确的是
软件是程序、数据和______________的集合。
随机试题
下列各类疾病中主要应采取第一级预防的是
城市地面机动车公共停车场,当车位超过()辆时,出入口不少于两个。
根据《建设工程工程量清单计价规范)>(GB50500——2013),若合同未约定,当工程量清单项目的工程量偏差在()以内时,其综合单价不作调整,执行原有的综合单价。
出口家电产品型式试验收费、预防接种的药品费等标准是依据成本测算的原则,经过有关部门科学地计算,并通过国家质检总局和国家计委的核算和认可发布实施。( )
下列关于债务清偿表的表述中,错误的是()。
以下属于个人抵押授信贷款贷前调查环节对借款人所提交材料审查的有()。
[2015]下列有关职业怀疑的说法中,错误的是()。
邓小平理论在逐步展开并形成轮廓阶段为改革开放奠定的两大理论基石是()。
教育部对部分汉字进行修改,据网站调查显示,百分之八十几的网友认为是专家在瞎折腾。有部分网友认为可以更好地规范文字。你怎么看?
A、 B、 C、 D、 B
最新回复
(
0
)