首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面程序中对一维坐标点类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
63
问题
下面程序中对一维坐标点类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全国计算机二级
相关试题推荐
有以下程序:classDate{public:Date(inty,intm,intd);{year=y;month=m;d
下面类的定义,有()处错误。classMyClass{public:voidMyClass();~MyClass(intValue);private:inti=0;
有以下程序:#include<iostream>usingnamespacestd;classMyClass{public:MyClass();~MyClass();
若要把类FriendClass定义为类MyClass的友元类,则应在类MyClass的定义中加入语句【】。
下面语句段的输出结果是【】。intx=0,y=2,z=3;switch(x){case0:switch(y){case1:cout<<’*’;break;
若a是float型变量,且a=6,则表达式“a/2+(int)(a+1)%2”的值为【】。
根据下面的主程序,完成类的一种构造函数的最简单形式。#include<iostream.h>classbase{private:intnum;public:【 】;};voidmain(){basetry
类内部定义的______和______数据不能被不属于该类的成员函数来存取,定义为______的数据,可以在类外部进行存取。
多数运算符既能作为类的成员函数重载,也能作为类的非成员函数重载,但[]运算符只能作为类的______函数重载。
随机试题
著作权是指作者或著作权人对()()()。
省、自治区、直辖市的代表名额基数为350名,省、自治区每15万人可以增加1名代表,直辖市每2.5万人可以增加1名代表;但是代表总名额不得超过_________。
业主可向承包商进行索赔的情形包括( )。
根据《汽车金融公司管理办法》,汽车金融公司可从事的业务有()。
各种贷款的审批权限,根据各种贷款办法的规定和各省、自治区、直辖市、计划单列市分行的规定办理。各经办行内部的审批程序由()规定。
下列属于宏观调控措施的有()。
宪法与法律的最主要区别是()。
阅读下文。回答106—110题。何谓文化?向来狭义的解释,只指学术技艺而言,其为不当,自无待论。说得广的,又把一切人为的事都包括于文化之中,然则动物何以没有文化呢?须知文化正是人之所以异于动物的。其异点安在呢?凡动物,多能对外界的刺激而起反应,亦多
A、Helivedasimpleandlonelylife.B、Heusuallydidnotwearanything.C、Hedivorcedandnevermarriedagain.D、Hetraveledwi
LoveAroundtheWorldItwasanunsettingnightattheAfricanbarandRichardBlaine,37,wasespeciallynervous.Clients
最新回复
(
0
)