首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面程序中对一维坐标点类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
39
问题
下面程序中对一维坐标点类Point进行运算符重载
#include
using namespace std;
class Point{
public:
Point(int val){x=val;}
Point&operator++(){x++;retum*this;)
Point operator++(int){Point old=*this;++(*this);retum old;}
Int GetX()const{return x;}
private:
int x;
};
int main()
{
Point a(10);
cout<<(++a).GetX();
cout<
retum 0:
}
编译和运行情况是( )。
选项
A、运行时输出101l
B、运行时输出1111
C、运行时输出1112
D、编译有错
答案
B
解析
此题考查的是重载增1运算符“++”。此题中,Point&operator++()重载的是前缀形式,而Point operator十+(int)重载的是后缀形式。所以主函数中第1条输出语句输出ll,此时a.x的值为ll:第2条输出语句,首先创建了一个Point对象old保存自身,然后通过语句++(*this);调用前缀++的重载函数,因为返回值是改变前保存的old对象,故仍输出11。
转载请注明原文地址:https://kaotiyun.com/show/1iyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列语句都是程序运行时的第1条输出语句,其中一条语句的输出效果与其他三条语句不同,该语句是()。
有如下程序:#include<iostream>usingnamespacestd;classVACtpublic:intf()const{return3;}intf(){retur
执行下列语句段后,输出字符“*”的个数是()。for(inti=50;i>1;i-=2)cout<<’*’;
数据库设计中反映用户对数据要求的模式是()。
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,此工程中声明的Array是一个表示数组的类。一个Array对象可以包含多个整型元素。Array的成员说明如下:成员函数add用于向数组的末尾添加一个元素;成员函数get用
下列叙述中正确的是()。
下列字符串中,不可以用作C++标识符的是
下列字符串中,正确的C++标识符是
随机试题
当归补血汤的主治证候中没有
A、选择性偏倚B、无应答偏倚C、测量偏倚D、回忆偏倚E、检查者偏倚受检者由于主观或客观原因未能接受检查的偏倚是
铺轨机铺轨后,地面轨排(),吊起的铺轨排不得伸出铺轨机。
某高层办公楼的柴油发电机房设置了水喷雾灭火系统。该系统水雾喷头的灭火工作压力不应小于()MPa。
函数y=f(x)的图象与y=3x2+2x-1的图象关于原点对称,则y=f(x)的函数解析式为()。
强迫症【华南师范大学2016;湖南师范大学2016】
Weoftentendtoassociatesmilingastheresultofapositiveeventormood.Butresearchdemonstratesthattheactofsmiling,
Withinhoursofappearingontelevisiontoannouncetheendofconscription,PresidentJacquesChiracmovedquicklytopreventa
Whatistheexpectedannualgrowthrateofthesevenleadingindustrializedeconomiesinthesecondhalfoftheyear?
______________(请随时与我联系)ifyouneedanyfurtherinformation.
最新回复
(
0
)