首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面程序中对一维坐标点类Point进行运算符重载 #include using namespace std; class Point{ public: Point(int val){x=val;} P
下面程序中对一维坐标点类Point进行运算符重载 #include using namespace std; class Point{ public: Point(int val){x=val;} P
admin
2020-07-30
64
问题
下面程序中对一维坐标点类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);retum old;}
Int GetX()const{return x;}
private:
int x;
};
int main()
{
Point a(10);
cout<<(++a).GetX();
coulI<
retum 0;
}
编译和运行情况是( )。
选项
A、运行时输出101l
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/zPyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
给出下面程序输出结果()。#itlcludevoidmain(){int*p1;int**p2=&p1;intb=20;p1=&b;cout
阅读以下程序:#includevoidmain(){staticinta[][2]={5,3,1,2};imti,j,sl=0;for(i=0;i<2i++)
有如下类定义:classMyClass{intx;public:MyClass():x(0),y(0){}intGetX(){returnx;}voidSetX(int
有如下程序;#includeusingnamespacestd;classB{public:virtualvoidshow(){cout
已知表达式++a中的“++”是作为成员函数重载的运算符,则与++a等效的运算符函数调用形式为()。
+下列语句中,与语句“n=(a>b?(b>c?1:0):0);”的功能等价的是()。
在软件开发中,需求分析阶段产生的主要文档是()。
在下列原型所示的C++函数中,按“传值”方式传递参数的是()。
对下列二叉树进行前序遍历的结果是()。
软件测试的目的是()。
随机试题
二尖瓣狭窄最常见的早期症状
A.吲哚美辛(消炎痛)B.硬膜外注射小剂量吗啡C.艾司唑仑(舒乐安定)D.卡马西平E.阿米替林
颅内静脉系统血栓形成最常见的症状是
某年某月某日,某镇煤矿发生瓦斯爆炸事故,事故死亡29人。该煤矿上年产量3万t,税利60万元,企业上年平均职工人数是105人,企业上年工作日数是300d,这次事故因人身伤亡所支出的费用是640万元,善后处理费用是130万元,财产损失价值达280万元,
关于巷道施工设备的使用,合理的是()。
决策的意义有()。
以下关于本票和汇票特点的描述错误的是( )。
以下不属于系统安全的是()。
我国古代第一个由南方统一北方的全国性封建政权是()。
下面关于视图的叙述中,正确的是______。
最新回复
(
0
)