首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面程序中对一维坐标点类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
46
问题
下面程序中对一维坐标点类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://www.kaotiyun.com/show/zPyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下类的定义,横线处的语句是()。classTestClass{_________ifltx,y;public:TestClass(inta=0,intb=0){X=a;
给出下面程序输出结果()。#itlcludevoidmain(){int*p1;int**p2=&p1;intb=20;p1=&b;cout
有函数模板声明和一些变量定义如下:template<classT1,classT2,classT3>T1sum(T2,T3);doubled1,d2;则下列调用中,错误的是()。
如果派生类以protected方式继承基类,则原基类的protected成员和public成员在派生类中的访问属性分别是()。
下列有关运算符重载的叙述中,正确的是()。
若实体A和B是一对多的联系,实体B和C是一对一的联系,则实体A和C的联系是()。
数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是()。
请使用VC6或使用【答题】菜单打开考生文件夹prog2下的工程prog2。此工程中包含一个程序文件main.cpp,其中有“部门”类Department和“职工”类Staff的定义,还有主函数main的定义。在主函数中定义了两个“职工”对象,他们属于同一部
为了取代C中带参数的宏,在C++中使用()。
一间宿舍可住多个学生,则实体宿舍和学生之间的联系是()。
随机试题
A、nationB、stateC、habitD、makeC
A.咳砖红色痰B.红霉素治疗有效C.两者均是D.两者均不是
女性,69岁,不慎摔倒,自觉左髋、左膝关节疼痛,不能站立、行走。查体:左下肢外旋45°,髋部无肿胀及淤血,有纵轴叩击痛,膝关节无肿胀、压痛。最应考虑诊断
A.肛周可见瘘口,有分泌物B.肛门指诊可触到变硬、增大的乳头C.排便时肛门滴血、喷射出血D.排便时肛门有间歇性疼痛E.肛门周围红肿、变硬、压痛,后期触及波动感肛乳头炎
化合物与FeCl3试剂反应呈污绿色显示可能含有
A.青霉素B.红霉素C.链霉素D.更生霉素E.利福霉素与细菌核蛋白体大亚基结合,抑制蛋白质合成
基底原状土的强度不符合要求时,应进行()。
劳动法律关系的主体是指()。
解放思想
Livetheatrelives.InEnglandineverytown,someoneisrehearsing,someonedevising,someoneperforming.Winchesterisagood
最新回复
(
0
)