题库 题库

【简答题】

使用VC++6.0打开考生文件夹下的源程序文件3.cpp,其中定义了用于表示矩形的CRect类,但类CRect的定义并不完整。请按要求完成下列操作,将类CRect的定义补充完整。
(1)定义私有数据成员leftPoint、topPoint、rightPoint、bottomPoint,分别用于表示矩形左上角及右下角的点的坐标,它们都是double型的数据。请在注释1之后添加适当的语句。
(2)完成默认构造函数CRect的定义,指定默认实参为0,它们都是double型的数据。请在注释2之后添加适当的语句。
(3)定义函数体为空的析构函数。请在注释3之后添加适当的语句。
(4)在main函数中定义GReet类的实例rect2,并把re-
ct1的值赋给rect2。请在注释4之后添加适当的语句。
注意:除在指定位置添加语句之外,不要改动程序中的其他内容。
试题程序:
#include
classCRect
{
private:
//********1********
public:
//********2********
//********3********
voidSetPoints(double,double,double,double);
voidSetLeftPoint(doublem){leftPoint=m;}
voidSetRightPoint(doublem){rightPoint=m;}
voidSetTopPoint(doublem){topPoint=m;}
voidSetBottomPoint(doublem){bottomPoint=m;}
voidDisplay();
};
CReet::CRect(double1,doublet,doubler,doubleb)
{
leftPoint=1;topPoint=t;
rightPoint=r;bottomPoint=b;
}
voidCRect::Setpoints(double1,doublet,doubler,doubleb)
{
leftPoint=1;topPoint=t;
rightPoint=n;bottomPoint=b;
}
voidCRect::Display()
{
cout<<"left-toppointis("<<leftpoint<<","<<top-
Point<<")"<<'\n';
cout<<"right-bottompointis("<<rightpoint<<","
< <bottompoint<<")"<<'\n';
}
voidmain()
{
CRectrect0;
rect0.Display();
rect0.SetPoints(20,20.6,30,40);
rect0.Display();
CRectrectl(0,0,150,150);
rect1.SetTopPoint(10.5);
rect1.SetLeftPoint(10.5);
//********4******** rect2.Display( );}

参考答案

(1)应添加“DouBlElEFtPoint,topPoint,riGhtPoint,hot-tomPoint;”。
(2)应添加“CREEt(DouBlElEFtPoint=0,DouBlEtopPoint=0,DouBlEriGhtPoint=0,DouBlEBottomPoint=O);”。
(3)应添加“~CREEt(){}”。
(4)应添加“CREEtrECt2(rECt1);”。

相关试题

单选题 下列关于栈叙述正确的是(  )。 查看答案
单选题 有下列二叉树,对此二叉树前序遍历的结果是(  )。
查看答案
单选题 下列选项中,能用作数据常量的是(  )。 查看答案
单选题 若有如下程序:
#include
usingnamespacestd;
classTestClassl
{
private:
inta;
public:
TestClassl(inti)
{
a=i:
}
voiddisp(  )
{
cout<<a<<",";
}
};
classTestClass2
{
private:
intb:
public:
TestClass2(intj)
{
b=j;
}
voiddisp()
{
cout<<b<<",";
}
};
classTestClass3:publicTestClass2,publicTestClassl
{
private:
intc;
public:
TestClass3(intk):TestClass1(k-2),TestClass2(k+2)
{
c=k:
}
voiddisp()
{
TestClasssl::disp();
TestClasss2::disp();
cout<<c<
}
};
intmain()
{
TestClass30bj(10);
obj.disp();
return0;
}
程序执行后的输出结果是(  )。
查看答案
单选题 最简单的交换排序方法是(  )。 查看答案
单选题 设有定义charstr[80];以下不能将输入数据first\nsecond\n读取到数组str中的语句是(  )。 查看答案
单选题 有如下四个语句:
①cout<<'A'<<seifill('*')<<left<<setw(7)<<'b'<
②cout<<setfill('*')<<left<<setw(7)<<'a'<<'b'<
③cout<<'A'<<serfill('*')<<right<<setw(7)<<'b'<
④cout<<setfill('*')<<right<<setw(7)<<'a'<<'b'<
其中能显示A******B的是(  )。
查看答案
单选题 下列叙述中正确的是(  )。 查看答案
单选题 下列各组类型声明符中,含义相同的一组是(  )。 查看答案
单选题 有两个关系R、S如下所示:

由关系R通过运算得到关系S,则所使用的运算为(  )。
查看答案
单选题 下列关于纯虚函数与抽象类的描述巾,错误的是(  )。 查看答案
单选题 下列程序的输出结果为(  )。
#include
classTestClass
{
public:
TestClass(){val++;}
static,intval;
};
intTestClass::val=0;
voidmain()
{
TestClasscsl;
cout<<csl.val<<"";
TestClasscs2;
TestClasscs3,cs4;
cout<<cs2.val<
}
查看答案
单选题 对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是(  )。 查看答案
单选题 下面关于break语句的描述中,不正确的是(  )。 查看答案
单选题 有如下程序:
#include
usingnamespacestd;
classPoint{
intX,Y;
public
point(intx1=0,inty1=O)tx(x1),y(y1){}
intget(){returnx+y;}
};
classCircle{
pointcenter;
intradius;
public
circle(intCX,intcy,intr):center(cx,cy),radius(r)
{}
intget(){returncenter.get()+radius;)
};
intmain(){
circlec(3,4,5);
cout<<c.get()<
return0;
}
运行时的输出结果是(  )。
查看答案
单选题 若目前D盘根目录下并不存在test.txt文件,则下列打开文件方式不会自动创建test,txt文件的是(  )。 查看答案
单选题 下列枚举类型的定义中,包含枚举值3的是(  )。 查看答案
单选题 对下列二叉树进行中序遍历的结果是(  )。
查看答案
单选题 下列语句都是程序运行时的第一条输出语句,其中一条语句的输出效果与其他三条语句不同,该语句是(  )。 查看答案
单选题 下列各类函数中,不是类的成员函数的是(  )。 查看答案