首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)定义类CPoint的带有两个参数的构造函数,两个变量为x、y都为int型,且缺省值为0。请在注释//*******
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)定义类CPoint的带有两个参数的构造函数,两个变量为x、y都为int型,且缺省值为0。请在注释//*******
admin
2019-06-05
45
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:
(1)定义类CPoint的带有两个参数的构造函数,两个变量为x、y都为int型,且缺省值为0。请在注释//********1********后添加适当的语句。
(2)完成类CRectangle的构造函数,给point1和point2进行赋值。请在注释//********2********后添加适当的语句。
(3)完成类CRectangle的函数GetArea(),用来计算矩形面积。请在注释//********3********后添加适当的语句。
(4)定义CRectangle类,拥有两个私有对象point1和point2,类型为Point,请在注释//********4********后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
#include<iostream.h>
#include<cmath>
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=point1.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<<rect.GetArea()<<endl;
cout<<rect.GetGirth()<<endl;
return0;
}
选项
答案
(1)添加语句:CPoint(int i=0,int j=0) (2)添加语句:CRectangle(int top,int left,int right,int bottom):point1(top,left),point2(right,bottom) (3)添加语句:int width=point1.GetX()-point2.GetX(); (4)添加语句:CPoint point1;
解析
(1)在第1个标识下添加构造函数定义,该构造带有两个参数x和y的构造函数,x、y都为int型,缺省值为0,因此第1个标识下应添加CPoint(int i=0,int j0)。
(2)第2个标识下通过Cpoint类的构造函数来完成Crectangle类成员的初始化,在函数体内没有任何函数语句,因此其初始化过程是在初始化列表里完成的,通过调用基类的构造函数来实现两个私有对象point1和point2的初始化,故第2个标识下应添加CRectangle(int top,int left,int right,int bottom):point1(top,left),point2(right,bottom)。
(3)面积为矩形的长宽之积,因此先计算矩形的长和宽,可由两个Cpoint对象的x坐标相减计算得到,CPoint对象的x坐标为私有成员,只能通过公有接口函数调用获得,因此第3个标识下为“int width=point1.GetX()-point2.GetX();”。
(4)Crectangle类的成员变量为两个Cpoint对象成员point1和point2,第4个标识下补充point1的定义,故第4个标识下应添加“CPoint point1;”。
转载请注明原文地址:https://kaotiyun.com/show/318p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
前后件关系在数据存储结构中,除了要存储数据,还要存储数据的前后件关系,对于顺序存储的数据结构,前后件之间的关系是通过存储空间的位置来实现的,而对于链式存储来说,数据元素之间的前后件关系是通过指针来实现的.
执行下列语句:#include<iostream>usingnamespacestd;intmain(){intx=3;if(x=5)cout<<x++<<end1;elsec
下列关于抽象类的表述中正确的是()。A)派生类必须要实现作为基类的抽象类中的纯虚函数B)抽象类的成员函数至少有一个没实现C)抽象类不可能用来定义对象D)派生类不能成为抽象类
下面关于派生类的描述中错误的是()。A)派生类中至少有一个基类B)一个派生类可以作为另一个派生类的基类C)派生类只继承了基类中的公有成员和保护成员D)派生类的缺省继承方式是私有
下列对于线性链表的描述中,正确的是()。A)存储空间必须连续,且各元素的存储顺序是任意的B)存储空间不一定是连续,且各元素的存储顺序是任意的C)存储空间必须连续,且前件元素一定存储在后件元素的前面D)存储空间不一定是连续,且前件元素
以下函数模板min的功能是返回数组a中最小元素的值。请将横线处缺失部分补充完整。template<typenameT>Tmin(Ta[],intn){Ttemp=a[0];for(inti=1,i<n;i
执行下列语句序列:imx=1,&y=x;cout<<x<<’-’<<y<<end1;输出结果为______。
A、 B、 C、 D、 C白盒测试方法也称为结构测试或逻辑测试,主要方法有逻辑覆盖测试、基本路径测试等。
C++中的模板分为函数模板和______。
有如下类定义:classB{public:voidfun1(){}private:voidfun2(){}protected:voidfun3(){}};classD:publicB{
随机试题
肾病综合征最常见的并发症是
一个良好的嵌体蜡型应该是
该患目前最恰当的诊断是医生在进行腹部检查时,发现的最危急情况是
产褥期是指()。
计算折旧,首先应计算()。
下列有关再保险与原保险关系的论述正确的是( )。Ⅰ.再保险合同的标的与原保险合同的标的不同Ⅱ.再保险与原保险有从属关系Ⅲ.再保险合同和原保险合同的主体不同Ⅳ.再保险以原保险为基础Ⅴ.再保险与原保险没有依存关系
下列关于银行本票性质的表述中,正确的有()。
王老师从教十年间,对工作从不敷衍,每节课都很认真,批改学生的作业也从不拖沓。王老师对待工作的态度和其所具备的优秀品质,体现了教师职业道德的()。
在充满着复杂流动性的转型中国,小说家对时代的整体性把握将越来越不可能,任何想从整体上对时代命名的企图和冲动将不得不最终沦为可笑的堂.吉诃德。但是,这也给写作提供了一个全新的思路,既然把握大的时代已经不可能,那么就可以仔细打量将那些被大时代所遮蔽的现代人生活
[*]
最新回复
(
0
)