首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面程序中对一维坐标点类Point进行运算符重载 #include<iostream> using namespace std; class Point{ public: Point(int val){x=val;}
下面程序中对一维坐标点类Point进行运算符重载 #include<iostream> using namespace std; class Point{ public: Point(int val){x=val;}
admin
2020-04-07
70
问题
下面程序中对一维坐标点类Point进行运算符重载
#include<iostream>
using namespace std;
class Point{
public:
Point(int val){x=val;}
Point&operator++(){x++;rcturn*this;}
Point operator++(int){Point old=*this;++(*this);return old;}
Int GetX()const{return x;}
private:
int x;
};
hat main()
{
Point a(10);
cout<<(++a).GetX();
cout<<a++.GetX();
return 0;
}
编译和运行情况是( )。
选项
A、运行时输出1011
B、运行时输出1111
C、运行时输出1112
D、编译有错
答案
B
解析
此题考查的是重载增1运算符“++”。此题中,Point&operator++()重载的是前缀形式,而Point operator++(int)重载的是后缀形式。所以主函数中第1条输出语句输出11,此时a.x的值为11:第2条输出语句,首先创建了一个P0int对象old保存自身,然后通过语句++(*this);调用前缀++的重载函数,因为返回值是改变前保存的old对象,故仍输出11。
转载请注明原文地址:https://kaotiyun.com/show/WN8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
请在下列程序中的横线处填写正确的语句。#include<iostream>usingnamespacestd;classBase{public:voidfun(){cout<<"Basefun"<<
在某类的公共部分有声明string operator++();和string operator++(int);则说明
下列程序的输出结果是()。#include<iostream>usingnamespacestd;intmain(){chara[]="Hello,Test";char*p=a;wh
下面关于对象概念的描述中,错误的是
在结构化分析使用的数据流图中,使用用______解释其中的图形元素。
重载函数在调用时选择的依据中,错误的是
关于静态数据成员的描述中正确的是
下面叙述错误的是()。
如果一个关系中,存在多个属性(或属性组)都能用来唯一标识该关系的元组,且其任何一个子集都不具有这一特性。这些属性(或属性组)都被称为关系的()。
随机试题
设y=y(χ)由确定,则=________.
急性脓胸患者最根本的治疗措施是
引起非糖尿病酮症的原因不包括
医师处方写大贝或象贝时,应付
患者女,27岁,冠折2/3,已做完善根管治疗,咬合关系正常。以下哪种修复方案较恰当
下列含铅烟气中,可用碱液吸收法处理的有()。
Haveyoueverwonderedwhatourfutureislike?Practically,allpeople【B1】_____adesiretopredicttheirfuture【B2】_____Most
货币政策的具体目标包括()。
以下不属于国务院职权的有()。
YouareinterestedinClassicalMusic,soyoucanwatchTVat______.Ifyouwanttoknowaboutprogrammesofnextweek,which
最新回复
(
0
)