首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++6.0打开考生文件夹下的源程序文件3.cpp,其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。 (1)定义类CPoint的带有两个参数的构造函数,两个变量为x、y,都为int型,且缺省值为0。请在注释1后添加适当的语句。
使用VC++6.0打开考生文件夹下的源程序文件3.cpp,其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。 (1)定义类CPoint的带有两个参数的构造函数,两个变量为x、y,都为int型,且缺省值为0。请在注释1后添加适当的语句。
admin
2013-11-15
48
问题
使用VC++6.0打开考生文件夹下的源程序文件3.cpp,其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。
(1)定义类CPoint的带有两个参数的构造函数,两个变量为x、y,都为int型,且缺省值为0。请在注释1后添加适当的语句。
(2)完成类CRectangle的构造函数,给pointl和point2赋值。请在注释2后添加适当的语句。
(3)完成类CRectangle的函数GetArea,用来计算矩形面积。请在注释3后添加适当的语句。
(4)定义CRectangle类,它拥有两个私有对象pointl和point2,类型为Point,请在注释4后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
试题程序:
#include
#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;
}
private:
//* * * * * * * * 4 * * * * * * * *
CPoint point2;
};
int main()
{
CRectangle rect(0,0,1,1);
tout<
return 0;
}
选项
答案
(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处添加构造函数定义,该构造带有两个参数x和Y的构造函数,x、y都为int型,默认值为0,因此第1处应添加“CPoint(int i=0,int j=0)”0第2处通过Cpoint类的构造函数来完成Crectangle类成员的初始化,在函数体内没有任何函数语句,因此其初始化过程是在初始化列表里完成的,通过调用基类的构造函数来实现两个私有对象point1和point2的初始化,故第2处应添加“CRectangle(int top,int left,int right,int bottom):pointl(top,left),point2(right,bottom)”。面积为矩形长宽的乘积,因此先计算矩形的长和宽,可由两个Cpoint对象的z坐标相减计算得到,CPoint对象的z坐标为私有成员,只能通过公有接口函数调用获得,因此第3处的语句为“int width=pointl.GetX()-point2.GetX();”。Creetangle类的成员变量为两个Cpoint对象成员point1和point2,在第4处补充point1的定义,故第4处应添加语句“CPoint pointl;”。
转载请注明原文地址:https://kaotiyun.com/show/vHNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
设有数组定义:chararray[]="China";,则数组array所占的空间为()。
凡是函数中未指定存储类别的局部变量,其隐含的存储类型是()。
类MyClas定义如下:ClassMyClas{public:MyClas(){value=0;}setVariable(inti){value=I;}
有以下程序,其输出结果是()。#include<iostream>usingnamespacestd;intmain(){chara[10]={’1’,’2’,’3’,’4’,’5’,’6’,’7
以下程序的执行结果是【】。#include<iostream.h>classB{public:B(){}B(inti.intj);voidprintb();private:inta,b;};classA{pub
下面程序的输出为【】。#include<iostream.h>voidmain(){inta[10],i,k=0;for(i=0,i<10;i++)a[i]=i;for(i=1;i<4;i++)k+=a[i]+i;cout<<
有如下程序#include<iostream>#include<iomanip>usingnamespacestd;intmain(){cout<<setprecision(3)<<fixed<<setfill(’*’)<<setw(8);co
经常和一个运算符连用,构成一个运算符函数名的C++关键字是【】。
下面有关重载函数的描述中正确的是()。
随机试题
PowerPoint2010中,在设置幻灯片的背景时,如果单击“设置背景格式”对话框中的“全应用”,结果是________。
下列各项中,会导致企业采取高股利政策的是()。
在处方书写中,“皮下注射”可用英文缩写为
HLA-I类分子存在于
在必需消耗的时间中,有一类时间与工作量大小无关,而往往和工作内容相关,这一时间应是()。
某高速公路跨江特大桥项目,中标价2.49亿元,主桥为(105+180+105)m预应力混凝土连续箱梁刚构桥,两岸引桥均为40m预制T梁,南岸16孔,北岸20孔,均为4孔一联先简支后连续结构。设计通航水位+12.30m,该标高对应的河面宽460m,主墩处
高中生处于记忆发展的“黄金”时代。()
从所给的四个选项中,选择最合适的一个填入问号处,使之呈现一定的规律性:
从1927年到1930年上半年,中国共产党领导的农村革命根据地和红军得到了迅速发展,根本原因是()
下面关于数组的初始化正确的是()。
最新回复
(
0
)