首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面程序中对一维坐标点类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
69
问题
下面程序中对一维坐标点类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全国计算机二级
相关试题推荐
.、.*、->、::、?:这五个运算符______重载。
一个()允许用户为类定义一种模式,使得类中的某些数据成员及某些成员函数的返回值能取任意类型。
有以下程序 main() { char a,b,c, *d; a=’\’;b=’\xbc’; c=’\0xab’;d="\0127"; cout<<a<<b<<c<<*d<<endl; } 编译时出现错误,以下
通常拷贝构造函数的参数是
在深度为7的满二叉树中,叶子结点的个数为()。
关于函数重载,下列叙述中错误的是
设有定义语句:inta=12;,则表达式a*=2+3的运算结果是______。
在软件开发中,需求分析阶段产生的主要文档是
有如下程序:#include<iostream>usingnamespaeestd;classPair{intm;intn;public:Pair(inti,intj):m(i),n(j
下列叙述中正确的是
随机试题
帕金森病为本虚标实之病,下列哪项为标
男性,42岁。自右背部放射至右腋下疼痛5个月,右下肢乏力4个月,加重伴排尿费力半月。查体:双下肢肌张力增高,右下肢肌力3级,左下肢4级,腱反射右(+++)、左(++),双下肢Babinski征(+)。T5以下痛觉减退左侧明显;右下肢振动觉差。T3水平棘突有
组织的定义包括以下基本要素:()。
永续年金是一组在无限期内金额______、方向______、时间间隔______的现金流。()
根据《合同法》的规定,下列关于赠与人离有撤销赠与权利的表述中,不正确的是( )
现役军人因战、因公致残后因旧伤复发死亡,按照( )对待。
求.
Samplanstoestablishmobilephoneserviceusingthepersonalinformationhehasstolenfromhisformerboss.Whattypeofiden
有以下程序段charch;intk;ch=’a’;k=12;printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);已知字符a的ASCII码值为97,则执行上述
Mychildrenwenttoprivateschool,andgiventhewaythingsareinoureducationsystemIamgladtheydid;but1wishIhadno
最新回复
(
0
)