首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面程序中对一维坐标点类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
53
问题
下面程序中对一维坐标点类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://www.kaotiyun.com/show/WN8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下程序#include<iostream>usingnamespacestd;inta;intfun();intmain(){externinta;intb;
有如下程序#include<iostream>usingnamespacestd;classA{public:virtualvoidfunc1(){cout<<"A1";}voidfunc2(){cout<<"A2";}};clas
在数据库系统中,用户所见的数据模式为
对类的构造函数和析构函数描述正确的是
有如下数组声明:intnum[10];,下标值引用错误的是
C++语言中,表示一条语句结束的标号是
有如下程序:#include<iostream>usingnamespaeestd;classPair{intm;intn;public:Pair(inti,intj):m(i),n(j
下列关于类和对象的叙述中,错误的是()。
下列选项中不属于软件生命周期开发阶段任务的是()。
在结构化方法中,软件功能分解属于下列软件开发中的阶段是
随机试题
基本病理过程
下列脑神经中。行程最远、分布最广的神经是
影像增强管输入屏有效直径是20.32cm,输出屏有效直径是2.54cm,缩小增益是
下列关于房地产经纪机构的分支机构的说法中,正确的有()。
工程建设监理实施细则应在工程施工开始前编制完成,并必须经()批准。
用友报表系统中,下列()的操作是在“数据”状态下进行的。
在宪法规范与社会现实发生非正常性的严重冲突时,需要对宪法进行()。
育才小学六年级共有学生99人,每3人分成一个小组做游戏。在这33个小组中,只有1名男生的共5个小组,有2名或3名女生的共18个小组,有3名男生和有3名女生的小组同样多,六年级共有男生多少名?
随机误差
Whatistheletterabout?Establishmentof______.Whatwillthenewarrangementsleadto?
最新回复
(
0
)