首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面程序中对一维坐标点类Point进行运算符重载 #include using namespace std; class Point{ public: Point(int val){x=val;} Point
下面程序中对一维坐标点类Point进行运算符重载 #include using namespace std; class Point{ public: Point(int val){x=val;} Point
admin
2020-11-11
27
问题
下面程序中对一维坐标点类Point进行运算符重载
#include
using namespace std;
class Point{
public:
Point(int val){x=val;}
Point&operator++(){x++;return*this;)
Point operator++(int){Point old=*this;++(*this);return old;}
Int GetX()const{return x;}
private:
int x;
};
int main()
{
Point a(10);
cout<<(++a).GetX();
cout<
return 0;
}
编译和运行情况是( )。
选项
A、运行时输出1011
B、运行时输出1111
C、运行时输出1112
D、编译有错
答案
B
解析
此题考查的是重载增1运算符“++”。此题中,Point&operator++()重载的是前缀形式,而Point operator++(int)重载的是后缀形式。所以主函数中第1条输出语句输出11,此时a.x的值为11;第2条输出语句,首先创建了一个Point对象old保存自身,然后通过语句++(*this);调用前缀++的重载函数,因为返回值是改变前保存的old对象,故仍输出11。
转载请注明原文地址:https://kaotiyun.com/show/slyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#inc1ude<iostream>#inc1ude<cstring>usingnamespacestd;c1assMyString{public:charstr[80];
有如下程序:#inc1ude<iostream>usingnamespacestd;c1assMonkey{public:Monkey(){cout<<’M’;}Monkey(char
有如下程序#inc1ude<iostream>#inc1ude<iomanip>usingnamespacestd;c1assMyClass{public:MyClass(){cout<<’
若有定义语句“inti=2,j=3;”,则表达式i/j的结果是()。
当使用ofstream流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为()。
若有如下类声明c1assMyClass{public:MyClass(){cout<<1;}};执行下列语句MyClassa,b[2],*p[2]:以后,程序的输出结果是()
下列关于继承方式的描述中,错误的是()。
下列关于函数的描述中,错误的是()。
随机试题
某患者由于使用青霉素后引起四肢厥冷、呼吸困难,皮肤血管扩张、血压下降、昏迷,抢救时应首选
全面依法治国的总目标是()
李某,自费学医后自行开业,因违反诊疗护理常规,致使患者死亡,追究其刑事责任的机关是
坏疽性口炎的发病原因可能是
20世纪90年代初,传销活动在中国大陆流行时,法律法规对此没有任何具体规定。当时,执法机关和司法机关对这类案件的处理往往依据《民法通则》第7条。该条规定:“民事活动应当尊重社会公德,不得损害社会公共利益,破坏国家经济计划,扰乱社会经济秩序。"这说明法律原则
可行性研究报告既为建设工程投资决策提供依据,也可为()提供依据。
根据合伙企业法律制度的规定,下列情形中,经普通合伙企业其他合伙人一致同意,可以决议将合伙人除名的是()。
《青年实话》
Theword"like"inanadoftenfocusestheconsumer’sattentionon______.Topromotesales,advertisersoftenexploitconsumer
SirHowardDavies,themanwiththejobofdecidingwhetherBritainneedsanewairport,mustbelookingwithsomealarmatthe
最新回复
(
0
)