首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)定义类CPoint的带有两个参数的构造函数,两个变量为x、y都为int型,且缺省值为0。请在注释//***
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)定义类CPoint的带有两个参数的构造函数,两个变量为x、y都为int型,且缺省值为0。请在注释//***
admin
2017-03-22
58
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:
(1)定义类CPoint的带有两个参数的构造函数,两个变量为x、y都为int型,且缺省值为0。请在注释//********1********后添加适当的语句。
(2)完成类CRectangle的构造函数,给pointl和point2进行赋值。请在注释//********2********后添加适当的语句。
(3)完成类CRectangle的函数GetArea0,用来计算矩形面积。请在注释//********3********后添加适当的语句。
(4)定义CRectangle类,拥有两个私有对象pointl和point2,类型为Point,请在注释//********4********后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
#include
#include
Class CPoint
{
public:
//********1********
{
x=i;
y=j;
}
int GetX()
{
return x;
}
int GetY()
{
return y;
}
private:
int x,y;
};
class CRectangle
{
public:
//********2********
{
}
int GetArea()
{
//********3********
int height=pointl.GetY()
-point2.GetY();
return(width*height)?
width*height:一width*height;
}
int GetGirth()
{
int width=abs(point1.
GetX()-point2.GetX());
int height=abs(point1.
GetY()-point2.GetY());
return(2*(width+height));
}
private:
//********4********
CPoint point2;
};
int main()
{
CRectangle rect(5,2,13,18);
cout<
cout<
return 0;
}
选项
答案
(1)添加语句:CPoint(int i=0,int j=0) (2)添加语句:CRectangle(int top,int left,int,right,int bottom):pointl(top,left),point2 (right,bottom) (3)添加语句:int width=pointl.GetX() -point2.GetX(); (4)添加语句:CPoint pointl;
解析
(1)在第1个标识下添加构造函数定义,该构造带有两个参数x和y的构造函数,x、y都为int型,缺省值为0,因此第1个标识下应添加CPoint(int i=0,int j=0)。
(2)第2个标识下通过Cpoint类的构造函数来完成Crectangle类成员的初始化,在函数体内没有任何函数语句,因此其初始化过程是在初始化列表里完成的,通过调用基类的构造函数来实现两个私有对象point1和point2的初始化,故第2个标识下应添加CRectangle(int top,int left,int right,int bottom):pointl(top,left),point2(right,bottom)。
(3)面积为矩形的长宽之积,因此先计算矩形的长和宽,可由两个Cpoint对象的x坐标相减计算得到,CPoint对象的X坐标为私有成员,只能通过公有接口函数调用获得,因此第3个标识下为“int width=pointl.GetX()-point2.GetX0;”。
(4)Crectangle类的成员变量为两个Cpoint对象成员pointl和point2,第4个标识下补充pointl的定义,故第4个标识下应添加“CPoint pointl;”。
转载请注明原文地址:https://kaotiyun.com/show/vnAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
若执行语句:cout<<setfill(’*’)<<setw(10)<<setfill(’#’)<<left<<123<<"OK"<<end1后将输出
下面是复数类complex的定义,其中作为友元函数重载的运算符“--”的功能是将参数对象的实部减1,然后返回对该对象的引用;请补充完整。classcomplex{private:intreal;iht
在下面横线上填上适当的语句,完成程序。#include<iostream>usingnamespacestd;classBase{intx;public:
如果表达式x*y+z中,“*”是作为友元函数重载的,“+”是作为友元函数重载的,则该表达式还可为
关于二义性的描述错误的是
有以下程序#include<iostream.h>voidfun(inta,intb,intc){a=456,b=567,c=678;}voidmain(){
假定int类型变量占用两个字节,其有定义intx[10]={0,2,4};,则数组x在内存中所占字节数是
对建立良好的程序设计风格,下面描述正确的是
有如下程序:#includeusingflamespacestd;className{charname[20];public:Name(){strcpy(name,“”);cout
随机试题
领导的社会功能和作用决定了领导科学具有【】
什么是右心超声造影的原理(从末稍静脉注入造影剂):
某人胃溃疡已15年,每年冬季发作,进食痛,但今年冬季上腹痛失去规律性,不进食也痛,疑似发生了
急性心肌梗死致心律失常首选药是治疗窦性心动过速首选的药物是
可用于各级公路基层和底基层的级配型粒料基层是()。
开放式基金的价格是以()为基础计算的。
小孙下班收工关闭车床时,因与同事聊天,未遵守操作规程,导致手指被车床挤伤,花去医疗费2000元,两个月无法上班。小孙要求所在单位承担赔偿责任,单位认为小孙因个人过失导致受伤,因此不愿承担赔偿责任。双方一直自行沟通,均未向工伤认定机构申请工伤认定。8个月后,
Cheaplongdistance,theabilitytospoofcallerID(来电显示)andthecreditcrisisarebeingusedtofacilitateascamcalledvishin
“府院之争”的激化,从根本上反映了()
属于民事法律事实的是()。
最新回复
(
0
)