}
(3);
intmain()
{
myclassob1(5),ob2(10),ob3(15);
ob1.getnumber();
ob2.getnumber();
ob3.getnumber();
(4);//调用Result输出结果
return0;
}
(1)______________
(2)_________________(3)________________(4)________________
2.【程序说明】请完成该类的实现。
#include
usingnamespacestd;
classpoint
{
public:
(5);
point(intx,inty)
{(6);
(7);
}
(8){returnx;}
intgetY(){returny;}
voidsetX(intxx){x=xx;}
voidsetY(intyy){y=yy;}
private:
intx,y;
};
classArrayofPoints
{
public:
ArrayofPoint(intn):
numofPoints(n)
{(9);}
(10)Elements(intn)
{returnarray[n];}
private:
point*array;
intnumofPoints;
};
voidmain()
{
ArrayofPointsa(5);
a.Elements(0).setX(3);
cout<<(11);//输出第一个点的横坐标
}
(5)_________________(6)_________________(7)________________(8)________________
(9)_________________(10)_________________(11)________________
3.【程序说明】已知定义了Clock类,请派生一个带“AM”、“PM”的新时钟类NewClock。
以下程序输出为:
8:
23:
34PM
#include
usingnamespacestd;
enumAMPM{AM=1,PM};
classClock{
public:
Clock(int=0,int=0,ints=0);
voidShowTime()
{cout<"<"<private:
intHour,Minute,Second;
};
Clock:
:
Clock((12))
{Hour=h;Minute=m;Second=s;}
class(13){
public:
NewClock();
NewClock(Clockc,AMPMap)(14){}
voidShowTime(){
(15);//
(16);
}
private:
AMPMAp;
};
intmain(){
NewClocknc(Clock(8,23,34),AMPM
(2));
nc.ShowTime();
return0;
}
(12)_________________(13)_________________(14)________________(15)________________
(16)_________________
4.【程序说明】文件Test1.txt中有一批非负整数,结尾以“-1”结束,要求将Test1.txt中的非负偶数挑出来,写到文件Test2.txt中。
请将下列程序补充完整。
(17);
#include
usingnamespacestd;
intmain()
{
intb;
ifstreaminfile;
(18)
(19)
outfile.open("Test2.txt");
infile>>b;
while(b>=0)
{
(20)
outfile<
infile>>b;
}
infile.close();
outfile.close();
return0;
}
(17)_________________(18)________________(19)________________(20)________________
答案:
(17)include(18)ofstreamoutfile;(19)infile.open("Test1.txt")(20)if(b%2==0);
试题三、程序阅读题(每题5分,共20分)
⒈程序1下面程序的运行结果是________。
#include
usingnamespacestd;
classB{
public:
voidf1(){cout<<"B:
:
f1"<};
classD:
publicB{
public:
voidf1(){cout<<"D:
:
f1"<};
voidf(B&rb){
rb.f1();
}
intmain(){
Dd;
Bb,&rb1=b,&rb2=d;
f(rb1);f(rb2);
return0;
}
B:
:
f1
B:
:
f1
2.程序2下面程序的运行结果是________。
#include
usingnamespacestd;
classmyclass{
private:
intx,y;
staticlongsum;
public:
myclass(inta,intb)
{
x=a;
y=b;
}
voidgetxy()
{
sum*=x*y;
cout<<"sum="<}
};
longmyclass:
:
sum=1;
intmain()
{
myclassob1(1,2);
ob1.getxy();
myclassob2(3,4);
ob2.getxy();
myclassob3(5,6);
ob3.getxy();
return0;
}
sum=2
sum=24
sum=720
3程序3下面程序的运行结果是________。
#include
classB
{
public:
B(){}
B(inti){b=i;}
virtualvoidvirfun()
{
cout<<"B:
:
virfun()called.\n";
}
private:
intb;
};
classD:
publicB
{
public:
D(){}
D(inti,intj):
B(i){d=j;}
private:
intd;
voidvirfun()
{
cout<<"D:
:
virfun()called.\n";
}
};
voidfun(B*obj)
{
obj->virfun();
}
voidmain()
{
D*pd=newD;
fun(pd);
}
4.程序4下面程序的运行结果是________
程序:
#include
usingnamespacestd;
classSample
{
intn;
public:
Sample(){}
Sample(inti){n=i;}
Sample&operator=(Samples);
intdisp()
{
cout<<"n="<return0;
}
};
Sample&Sample:
:
operator=(Samples)
{
Sample:
:
n=s.n;
return*this;
}
intmain()
{
Samples1(10),s2;
s2=s1;
s2.disp();
return0;
}
n=10
试题四、程序设计题(第一题10分,第二、三题各15分,共40分)
1.利用函数模板设计一个求数组元素中和的函数,并定义main函数测试。
2.定义一个汽车类vehicle,有车轮个数wheels和车重weight两个属性。
小车类car是它的私有派生类,有载人数passenger_load属性。
卡车类truck也是vehicle的私有派生类,有含载人数passenger_load和载重量payload这两个属性,每个类都有相关数据的输出的成员函数。
编写主函数测试所定义的类结构,实现对每个类中数据属性的输出。
3.设计如下类:
(1)建立一个Point类,表示平面中的一个点;建立一个Line类,表示平面中的一条线端,内含两个Point类的对象;建立Triangle类,表示一个三角形,内含三个Line类的对象构成一个三角形。
(2)设计三个类的相应的构造函数、复制构造函数,完成初始化和对象复制。
(3)设计Triangle类的成员函数完成三条边是否能构成三角形的检验和三角形面积计算,面积显示。
提示:
已知三角形的三个点,求三角形面积方法为:
S=distance(p1,p2)*distance(p3,Line(p1,p2))/2。