首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
43
问题
使用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全国计算机二级
相关试题推荐
关于输入流的提取符“>>”、提取函数get()的说法不正确的是()。
有如下程序:#include<iostream>usingnamespacestd;longfib(intn){if(n>2)return(fib(n-1)+fib(n-2));
执行语句:intresult=100;cout<<(((result>=60)&&(result<=100))?"good":"general");结果是【】。
模板是实现类属机制的一种工具,其功能非常强大,它允许用户构造类属类,即()。
在下列选项中,没有构成死循环的程序是()。
如下的类定义,错误的语句是()。classMyclass{public:inta=1;//A)Myclass();//B)Myclass(inti);
分析下面程序,该程序的运行结果是()。#include<iostream.h>classcmm{public:staticintm;cmm(){m++;}cmm(
定义重载函数时,应在参数个数或参数类型上【】。
如果表达式++i*k中的“++”和“*”都是重载的非静态成员运算符,则采用运算符函数调用格式,该表达式还可表示为=______。
随机试题
下列关于长期股权投资的确认,表述正确的有()。
甲公司于2017年6月1日签发了一张以乙公司为收款人、丙公司为付款人、金额为10万元、付款日期为2017年9月6日的商业汇票。乙公司在取得票据后,将该票据背书转让给丁公司,并将付款日期变更为2017年6月6日。乙公司的变更行为是()。
全野外调绘法,调绘工作一次性全部完成,精度高但用时较长且工作强度较大,适用于影像()和调查经验不足人员使用。
客车运行作业计划是将()在时间上和岗位上的具体落实。[2007年真题]
全面落实科学发展观,构建社会主义和谐社会迫切需要统筹解决人口()等问题。
据报载,江苏某少年成为上海心脏移植存活时间最长的“换心人”。假设该少年所患的心脏病由一对基因控制。下列遗传系谱图是其部分家庭成员的情况,其中Ⅲ11表示该少年。经查,他母亲家族史上无该病患者。设该病有关的一对等位基因,显性基因和隐性基因分别为A、a。请回答:
阅读下面的文章,完成下列问题。①周代,尽管关于食品安全事件的记载不多,但我们还是看到,由于食品安全关系重大,统治者对此非常重视并作出了特别规定。周代的食品交易是以直接收获采摘的初级农产品为主,所以对农产品的成熟度十分关注。据《礼记》记载,周代对食品交易的
世界上最早发明陶瓷器的国家是()。
一个各位不相同的8位数密码,任意相邻两个数字之和为质数,则最大的8位数各位数字之和为多少?
信息爆炸
最新回复
(
0
)