首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面程序中对一维坐标点类Point进行运算符重载 #inc1ude<iostream> using namespace std; c1ass Point{ public: Point(int val){x=val,)
下面程序中对一维坐标点类Point进行运算符重载 #inc1ude<iostream> using namespace std; c1ass Point{ public: Point(int val){x=val,)
admin
2019-06-12
45
问题
下面程序中对一维坐标点类Point进行运算符重载
#inc1ude<iostream>
using namespace std;
c1ass Point{
public:
Point(int val){x=val,)
Point& operator++(){x++;return *this;}
Point operator++(int){Point old=*this; H(*this);return old;)
Int GetX()const {return x,}
private:
int X;
);
int main()
{
Point a(10);
count<<(++a).GetX();
cout<<a++.GetX();
retum0;
}
编译和运行情况是( )。
选项
A、运行时输出1011
B、运行时输出1111
C、运行时输出1112
D、编译有错
答案
B
解析
此题考查的是重载增l运算符“++”。此题中,Point&operator++()重载的是前缀形式,而Point operator++(int)重载的是后缀形式。所以主函数中第1条输出语句输出11,此时a.x的值为11;第2条输出语句,首先创建了一个Point对象old保存自身,然后通过语句++(*this);调用前缀+的重载函数,因为返回值是改变前保存的old对象,故仍输出11。
转载请注明原文地址:https://kaotiyun.com/show/gH8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下程序的输出结果是#include<iostream.h>voidreverse(inta[],intn){inti,t;for(i=0;i<n/2;i++){t=a[i];a[i]=a[n
A、 B、 C、 D、 Dc++语言中析构函数为符号“~”加类名,且析构函数没有返回值和参数,故前不加void关键字。所以正确的形式应该是~Myclass()。
有如下程序:#include<iostream>usingnamespaeestd;classA{public:A(inti):rl(i){}voidprint(){cout<<’E’<<rl<
继承的方式有公有继承、私有继承和【】3种。
【】是数据库设计的核心。
下列叙述中正确的是
头文件【】中包含了处理用户控制的文件操作所需的信息。
按照标识符的要求,开头的符号不能是()。
随机试题
Iwilllendyouthebook________youreturnittomeintime.
Waiter:______Customer:Yes,I’llhaveacheeseburger,withFrenchfries(薯条).
锥体系统是指
银行业协会所确定的利率有()。
甲、乙同为丙公司的子公司,甲、乙通过证券交易所的证券交易分别持有丁上市公司(该公司股本总额为3.8亿元,国家授权投资机构未持有该公司股份)2%、3%的股份。甲、乙在法定期间内向中国证监会和证券交易所报告并公告其持股比例后,继续在证券交易所进行交易。当分别
()是对绩效管理中各个环节和工作要素进行全面监测分析的过程。
Yourfriendreallyoughttomake______mostofthisopportunity,becauseshewon’tget______secondchance.
关于研究计划的表述,不正确的是()
A好像B听谁C提过这事,但D又想不起来。
A、Preparingforanimportanttest.B、Fundingforuniversityeducation.C、Winningtheconfidenceofvoters.D、Graduateschoolapp
最新回复
(
0
)