首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)定义类CPoint的带有两个参数的构造函数,两个变量为x、y都为int型,且缺省值为0。请在注释//***
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)定义类CPoint的带有两个参数的构造函数,两个变量为x、y都为int型,且缺省值为0。请在注释//***
admin
2017-03-22
52
问题
使用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全国计算机二级
相关试题推荐
以下定义数组中错误的是
以下程序运行后的输出结果是【】。#include<iostream>usingnamespacestd;intmain(){inti=10,i:0;do{j=j+
下列关于构造函数的描述中,错误的是()。
下列对字符数组进行初始化的语句正确的是.
设有下列二叉树:对此二叉树中序遍历的结果为
下面程序的输出结果是【】。#include<iostream>usingnamespacestd;intx;voidfunA(int&,int);voidfunB(int,int&
下面的语句中错误的是
如下程序定义了“单词”类word,类中重载了
有如下循环语句:for(inti=50;i>20;i-=2)eout
随机试题
泱獄不避,貴强堊之。獄:
设=l,其中l为-定值且(l≠0,l≠1),则f(x)在点x=a处
下列关于光学对比度,叙述错误的是
根据《水法》规定,在水工程保护范围内,禁止从事影响水工程运行和危害水工程安全的()等活动。
关键性的销货单、销售发票和发运凭证等都应事前按顺序编号使用,以防止遗漏开票或记录销售业务,防止重复开票或记账。上述控制措施属于()。
关于契税的说法.正确的是()。
在个人住房贷款中,合同主体变更时,新合同的利率按原合同利率执行。()
企业无论是否发生关联方交易,均应在附注中披露与该企业之间存在直接控制关系的母公司和子公司有关的信息。()
在资产负债表日后至财务报表批准报出口之间发生的下列事项中,属于资产负债表日后调整事项的有()。
简述假释与减刑的区别。
最新回复
(
0
)