首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
将x+y*z中的“+”用成员函数重载,“*”用友元函数重载应写为( )。
将x+y*z中的“+”用成员函数重载,“*”用友元函数重载应写为( )。
admin
2016-10-28
36
问题
将x+y*z中的“+”用成员函数重载,“*”用友元函数重载应写为( )。
选项
A、operator+(operator*(y,z))
B、x.operator+(operator*(y,z))
C、x.operator+(x*(y,z))
D、x+(operator*(y,z))
答案
B
解析
在定义了重载运算符后的函数后,函数operator+重载了运算符“+”。如果在类以外的其他地方定义了一个函数,在类体中用friend对该函数进行声明,此函数就称为本类的友员函数。“*”用友元函数重载就是运算符函数不作为成员函数,而把它放在类外,“*”被改写为“operator*”。“+”为成员函数重载,x.operator+。所以x+y*z被改写为“x.operator+(operator*(y,z))”。
转载请注明原文地址:https://kaotiyun.com/show/sKNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下的程序:#include<iostream>usingnamespacestd;classAT{friendostream&operator<<(ostream&,AT);}at;os
C++语言中规定函数的返回值的类型是由()。
定义如下枚举类型:enumNumber{one=1,tow=2,four=4,eight=8},则下列语句正确的是()。
下面的说明中,正确的函数定义是()。
下列程序的输出结果是#include<iostream.h>voidmain(){char*str="12123434";intxl=0,x2=0,x3=0,x4=0,i;
有如下程序:#include"iostrearn.h"voidmain(){intx=1,a=0,b=0;switch(x){case0
已知fl(int)是类A的公有成员函数,p是指向成员函数fl()的指针,采用赋值,()是正确的。
下列类的定义中,有()处语法错误。classBase {public:Base(){}Base(inti){data=i;
下列运算符中不能在C++中重载的是
随机试题
结核球与周围型肺癌鉴别诊断的关键在于前者
临床实践中知情同意的主要告知形式应为
产品线的总量是()。
某省人民政府要实施一项国家重点工程项目,占用某市农民的土地。该省人民政府对被用地农民给予各种补偿费用与安置费,并对多余的劳动力进行了安置。该省人民政府的此项行为属于:( )
[2009年第015题]图C.13.2所示公共建筑群体组合的例子,从左到右分别是:
上市公司发行可转换为股票的公司债券,除应满足发行债券的条件外,还应满足发行股票的条件,并由()核准。
开放式基金通常上市交易。()
下列各账务处理程序表述正确的有()。
新中国成立后,党曾提出在20世纪内,分两步把我国建设成为“四个现代化”的社会主义国家的构想,这就是1964年周恩来在三届人大三次会议上所作的《政府工作报告》。报告宣布分两步走实现四个现代化的发展战略,这两步是()
求.
最新回复
(
0
)