首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include<iostream> using namespace std; class point { int x,y; public: point(int vx,int vy)
有如下程序: #include<iostream> using namespace std; class point { int x,y; public: point(int vx,int vy)
admin
2009-02-15
113
问题
有如下程序: #include<iostream> using namespace std; class point { int x,y; public: point(int vx,int vy) { x=vx; y=vy; } point() { x=0; y=0; } point operator+(point p1) { point p; int px=x+p1.x; int py=y+p1.y; return point(px,py); } point operator-(point p1) { point p; int px=x-p1.x; int py=y-p1.y; return point(px,py); } void print() { cout<<x<<","<<y<<end1; } }; int main() { point p1(10,10),p2(20,20); p1=p1+p2; p1.print(); retrun 0; } 执行后的输出结果是
选项
A、10,10
B、20,20
C、10,20
D、30,30
答案
8
解析
本题主要考查C++中运算符重载的机制与实现。运算符重载函数一般分为成员函数形式和友元函数形式,这两种形式都可以访问类中的私有成员。本题中的运算符重载形式为成员函数形式。 程序在类point中声明了私有数据成员int x和int y,并定义了两种形式的构造函数以完成对对象的初始化;之后,程序对运算符“+”进行了重载,另其输入参数为类point的对象,输出为操作符“+”右侧该对象的私有数据成员x和y与操作符“+”左侧同类型对象的私有数据成员x和y的加和:print()函数则输出对象中数据成员的值。程序main()函数中,实例化了类point的两个对象p1和p2,并完成对对象的初始化。在语句“p1=p1+p2;”中,由于操作符“+”左右两端的操作数为point类的对象,复合类point定义中的操作符“+”的重载函数,因此程序将调用重载后的操作符函数,并返回两point对象数据成员的加和值,覆盖对象p1的数据成员。因此print()函数输出对象p1的数据成员值应该为:x=10+20=30,y=10+20=30
转载请注明原文地址:https://kaotiyun.com/show/P7kp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列程序的输出结果是()。#includemain(){structst{inty,x,z;};union{longi;intj;chark;}un;pri
有以下程序:#includemain(){inti,j,k,a=5,b=6;i=(a==b)?++a:--b;j=a++;k=b;printf("%d,%d,%d\n",i,j,k);}
设有定义:intx=2;,以下表达式中,值不为6的是()。
以下叙述错误的是()。
软件设计中模块划分应遵循的准则是()。
下面不属于软件设计阶段任务的是
有三个关系R、S和T如下:则由关系R和S得到关系T的操作是
在面向对象方法中,不属于"对象"基本特点的是()。
有关C语言标识符,以下选项中不合法的是()。
建立表示学生选修课程活动的实体联系模型,其中的丽个实体分别是()。
随机试题
X.25规定了三级通信协议:物理层、链路层和
下图所示斜梁与水平梁弯矩图相同,刚度相同,所以两者的θB也相同。()
治疗痰浊上蒙型眩晕的方剂是
男性,57岁。既往消化性溃疡10余年,近1个月加重。24小时合并上消化道大出血,入院经积极治疗,出血仍未停止。下列处置最适合的是
个体身心发展的顺序性决定教育教学工作应()
道德能够影响经济基础的形成、发展和巩固。()
简述马克思和恩格斯关于未来社会主义的基本经济特征。
计算机网络系统是______。
What’sthepossiblerelationshipbetweenthetwospeakers?
【B1】【B2】
最新回复
(
0
)