首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面程序中对一维坐标点类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
67
问题
下面程序中对一维坐标点类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://www.kaotiyun.com/show/WN8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序#include<iostream>usingnamespacestd;classA{public:virtualvoidfunc1(){cout<<"A1";}voidfunc2(){cout<<"A2";}};clas
若有以下程序:#include<iostream>usingnamespacestd;intmain(){charstr[10];cin>>str;cout<<str<<
在某类的公共部分有声明string operator++();和string operator++(int);则说明
对类的构造函数和析构函数描述正确的是
下列各项中不符合函数重载必须满足的条件的是______。
已知各变量的定义如下inti=8,k,a,b;unsignedlongw=5;doublex=1.42,y=5.2;则以下符合C++语言语法的表达式是()。
关系数据库管理系统能实现的专门关系运算包括()。
在软件开发中,需求分析阶段产生的主要文档是
若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是
随机试题
宫颈癌发病的主要危险因素是( )。膀胱癌多见于染料工人,它发病的主要危险因素是( )。
()是固定资产投资中的积极部分。
下列因素中,影响矿业工程项目工序能力的是()。
资产评估报告正文应列的内容有()。
2017年9月16日午,第三届中国()大学生创新创业大赛全国总决赛在西安电子科技大学开赛。
下列关于导游服务理念的运用不正确的是()。
物联网的特性主要体现在()。
社会主义的根本任务是()。
A.facialnerveB.glossopharyngealnerveC.hypoglossalnerveD.sphenopalatinenerveE.trigeminalnerve舌咽神经的英文名称为()。
Therocketengine,withitssteadyroarlikethatofawaterfallorathunderstorm,isanimpressivesymbolofthenewspaceage
最新回复
(
0
)