首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下类定义: class MyClass{ public: MyClass(int d=0):val(d)+{} ___________//运算符函数+的声明 private: int val; }; 若要使语句序列 MyClass x(2),y(4)
有如下类定义: class MyClass{ public: MyClass(int d=0):val(d)+{} ___________//运算符函数+的声明 private: int val; }; 若要使语句序列 MyClass x(2),y(4)
admin
2021-05-06
53
问题
有如下类定义:
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://www.kaotiyun.com/show/3Wfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
若要对类Value中重载的类型转换运算符long进行声明,下列选项中正确的是
Windows环境下,由C++源程序文件编译而成的目标文件的扩展名是()。
有如下程序:#includeusingnamespaeestd;classGA{public:virtualintf(){return1;}};classGB:public
下面程序段的正确输出是()。intw—4,x=3,y=2,z=1;cout“(w<x?w:z<y?z:x)<<end1;
关系表中的每一行记录称为一个()。
在表达式x+y*z中,+是作为成员函数重载的运算符,木是作为非成员函数重载的运算符。下列叙述中正确的是()。
一棵二叉树中共有80个叶子结点与70个度为1的结点,则该二叉树中的总结点数为()。
下列符号中能够作为C++标识符的是()。
随机试题
年龄超过65周岁的建造师执业人员()失效。
下列管型中,肾小管上皮细胞脂肪变性形成的管型是
A.含牙囊肿B.黏液囊肿C.牙源性钙化囊肿D.婴儿龈囊肿E.牙旁囊肿哪种囊肿实际上是肿瘤
对建设工程风险,常用的组合分解方式是按( )3方面进行风险分解。
地面无线广播遥控监测站距离()等应大于200m。
工作分析的作用不包括()。
以下属于公务员的是()。
硕士生毕业回家种地,父亲愤而服毒自杀,对此你怎么看?
如图1,在直角三角形ABC中,ED与BC平行,三角形ABC面积为16,梯形EBCD面积与三角形AED面积比为3:1,已知ED长为1,则AB长为
Policesaidtheywerestilltryingtodeterminethe_______oftheaccident.
最新回复
(
0
)