首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面程序中对一维坐标点类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
2017-10-17
84
问题
下面程序中对一维坐标点类Point进行运算符重载 #include <iostream> using namespace std; class Point { public: Point(int val) {x=val;} Point & operator++() {x++; return *this; } Point operator++(int) {Point old = *this; ++(*this); return old;} int GetX() const {return x;} private: int x; }; int main() { Point a(10); cout << (++a).GetX(); cout << a++.GetX(); return 0; }编译和运行情况是
选项
A、运行时输出1011
B、运行时输出1111
C、运行时输出1112
D、编译有错
答案
B
解析
本题考查的知识点是:重载增1运算符“++”。++既可以是前缀运算符(前增1),又可以是后缀运算符(后增1)。为了区分这两种情况,重载这两个运算符时必须在格式上有所区别:重载后缀++时必须多一个虚拟参数:int。在本题中,Point& operator++()重载的是前缀形式,而Point operator++(int)则是后缀形式。所以,主函数中第1条输出语句cout<<(++a).GetX();等价于cout<<a.operator++().GetX();,即输出 11,此时a.x的值为11。而第2条输出语句cout<<a++.GetX();等价于cout<< a.operator++(0).GetX();(式中的0可以是任意整数),在这个后缀++的重载函数中,首先创建了一个Point对象old保存自身(*this),然后通过语句++(*this];调用前缀++的重载函数,此时自身虽然已经改变,但它返回的是改变前保存的old对象,因此还是输出11。故本题应该选择B。
转载请注明原文地址:https://kaotiyun.com/show/RWAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
模板函数的真正代码是在()时候产生。
对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是
决定C++语言中函数的返回值类型的是
下面程序的运行结果为#include<iostream.h>voidmain(){for(inta=0,x=0;!x&&a<=10;a++){a++;
根据下列程序的执行结果,可以断定划线部分的修饰符应为【 】。执行结果:i9afootballiscreated.afootballiscreated.i=10afootballisdestroyed.afootballis
()既可重载为一元运算符,又可重载为二元运算符。
在表达式x+y*z中,“+”是作为成员函数重载的运算符,“*”是作为非成员函数重载的运算符。下列叙述中正确的是()。
下列有关运算符重载的叙述中,正确的是()。
在双目运算符中需要声明其右操作数时,完成的是【 】重载,而需要声明全部操作数时,完成的是【 】重载。
随机试题
社会调查研究活动是通过了解社会生活中的具体事实而获得对社会的认识,这是社会研究特征中的()
口腔内扪诊可以检查以下症状,除外
肺心病急性加重期死亡的首要原因是()
A.二妙散B.八正散C.疏凿饮子D.程氏萆薜分清饮E.薏苡仁汤治疗热淋,应首选
SIgA是
大量出汗时尿量减少的主要原因是
在完全市场经济条件下,货币均衡最主要的实现机制是()。
Chocolate:The"FoodoftheCods’"1.Thehistoryofchocolate■Theobromacacao—"foodofthegods"■peopleof【T1】__
RupertBrookeRupertBrooke,oneoftheleadingpoetsofhisgeneration,wasrenownedasaromantic,unlikemanyofhiscon
WhyMoneyDoesn’tBuyHappinessWhatdotheexpertssay?[A]Allinall,itwasprobablyamistaketolookfortheanswertothe
最新回复
(
0
)