C++重修考试大题填空选择判断没给出含答案Word格式文档下载.docx
《C++重修考试大题填空选择判断没给出含答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C++重修考试大题填空选择判断没给出含答案Word格式文档下载.docx(13页珍藏版)》请在冰豆网上搜索。
intmain()
try//检查异常
{
Rectobj(1,8);
cout<
<
"
周长:
<
obj.GetPerimeter()<
endl;
catch(char*str)//捕捉异常
{//处理异常
异常信息:
str<
//输出异常信息
return0;
}
2.定义一个二维座标类Vector2d,二个数据成员为double型x,y为private属性。
定义代二个参数的构造函数和一个Show()函数用以输出x,y的值,另外作为成员函数重载的运算苻”+”的功能是将此类二个对象的数据成员x和y对应相加。
这些成员函数的属性均为public.请用C++编写此程序,并编写测试程序进行测试
iostream>
classVector2d
doublex,y;
Vector2d(doublea,doubleb):
x(a),y(b){}
voidShow(){cout<
x<
y<
Vector2doperator+(Vector2d&
obj);
Vector2dVector2d:
:
operator+(Vector2d&
obj)
{returnVector2d(x+obj.x,y+obj.y);
Vector2dd1(3.5,4.5),d2(2.5,5.5),d3(0.0,0.0);
d3=d1+d2;
d3.Show();
3.设计一个立方体类Box,它能计算并输出立方体的体积和表面积。
classBox
doublelength;
//立方体边长
doublevolume;
//体积
doublearea;
//表面积
/*
*构造函数
*/
Box(doublel)
length=l;
volume=0.0;
area=0.0;
}
*计算体积
doublegetVolume()
returnlength*length*length;
*计算表面积
doublegetArea()
returnlength*length*6;
*输出立方体体积和表面积
voidshow()
volume=getVolume();
area=getArea();
cout<
立方体的体积:
volume<
表面积:
area<
endl;
/*
*主函数
intmain()
intlength=0;
请输入立方体的边长:
cin>
>
length;
Boxbox(length);
box.show();
getchar();
}
4.编程实现抽象类Employee,派生类Manger和HourlyWorker,Employee有数据成员姓名name和工号ID,Manger有数据成员sal,代表经理的月工资,HourlyWorker有wage和hours,分别代表钟点工的每小时的工资数和月工作时数,定义的所有类中必须包含构造函数、析构函数、修改和获取所有数据成员的成员函数,以及虚函数来计算职员的工资、输出职员的姓名name和工号ID。
string>
classEmployee
{
public:
Employee(){};
virtualvoidgongzi(){cout<
no"
voidxianshi(){cout<
stringname;
stringid;
~Employee(){};
classManger:
publicEmployee
Manger(strings1,strings2){name=s1;
id=s2;
voidgongzi()
cout<
name<
的月工资为:
sal<
voidxianshi()
经理的姓名为:
经理的ID为:
id<
voidset()
请修改经理的月工资为:
sal;
~Manger(){};
intsal;
classHourlyWorker:
HourlyWorker(strings1,strings2)
name=s1;
wage*hours<
voidxianshi()
钟点工的姓名为:
钟点工的ID为:
voidset()
请输入钟点工每小时的工资数:
wage;
请输入钟点工月工作时数:
hours;
~HourlyWorker(){};
intwage;
inthours;
voidfun(Employee*p)
p->
gongzi();
voidmain()
Mangerzhangye("
zhangye"
"
200913030135"
);
HourlyWorkerzjy("
zhangjunyu"
"
200913030104"
zhangye.xianshi();
zhangye.set();
fun(&
zhangye);
zjy.xianshi();
zjy.set();
zjy);
5.编写一个函数模板,用于求参数的绝对值,并编写测试程序进行测试。
函数模板声明如下:
template<
classType>
TypeAbs(TypetVar)
if(tVar>
=0)returntVar;
elsereturn-tVar;
cout<
Abs(5)<
Abs(-5)<
Abs(2.5)<
Abs(-2.5)<
6.定义一个复数类CComplex,定义带有2个参数(其中一个为缺省参数)的构造函数,显示复数值的函数Show(),重载“+”运算符(用成员函数实现),并编写测试程序进行测试。
classCComplex
CComplex(doubledReal,doubledImage=0)
m_dReal=dReal;
m_dImage=dImage;
voidShow()
m_dReal;
if(m_dImage>
0)
{
cout<
+"
m_dImage<
i"
}
elseif(m_dImage<
-"
-m_dImage<
CComplexoperator+(constCComplex&
CComplexobjTemp(m_dReal+obj.m_dReal,m_dImage+obj.m_dImage);
returnobjTemp;
doublem_dReal,m_dImage;
CComplexobj1(2,6),obj2(3,8),obj3(0);
obj1.Show();
obj2.Show();
obj3.Show();
obj3=obj1+obj2;
7.(1)下面程序的打印结果是_1251121_
.
#incude
intf(int);
intmain()
{ inti;
for(i=0;
i<
5;
i++)
cout<
F(I)<
return0;
}
intf(inti)
{ staticintk=1;
for(;
i>
0;
i--)
k+=i;
returnk;
(2)在用class定义一个类时,数据成员和成员函数的默认访问权限是_private或私有_.
(3)含有纯虚函数的类称为___抽象类__.
(4)已知intDBL(intn){returnn+n;
}和longDBL(longn){returnn
+n;
}
是一个函数模板的两个实例,则该函数模板的定义是__templateTDBL(Tn){returnn+n;
}__.
(5)在下面程序的横线处填上适当的语句,使该程序执行结果为10.
#include
classMyClass
{ public:
MyClass(inta){x=a;
_intGetNum(){returnx;
}或intGetNum()const{returnx;
}___//取x值
private
intx;
};
{ MyClassmy(10);
MY.GETNUM()<
ENDL;
return0;
8.定义一个抽象类CShape,它有一个纯虚函数GetLength();
派生出四边型类CSquare和圆类CCircle,在派生类中重载函数GetLength(),用于求图形的周长,编写测试程序进行测试。
classCShape
virtualdoubleGetLength()const=0;
classCSquare:
publicCShape
CSquare(doubledWidth,doubledHeight)
m_dWidth=dWidth;
m_dHeight=dHeight;
doubleGetLength()const
return2*(m_dWidth+m_dHeight);
doublem_dWidth,m_dHeight;
classCCircle:
CCircle(doubledRadius)
m_dRadius=dRadius;
return3.1415926*m_dRadius*m_dRadius;
doublem_dRadius;
intmain(void)
CSquareoSquare(2,3);
oSquare.GetLength()<
CCircleoCircle(10);
oCircle.GetLength()<
9.设计一个类DateInfo,要求其满足下述要求:
(1)要求有一个无参的构造函数,其初始的年、月、日分别为:
2010,8,8。
(2)要求有一个带参数的构造函数,其参数分别对应年、月、日。
(3)要求用一个成员函数实现日期的设置。
(4)要求用一个成员函数实现输出日期。
请用C++编写此程序,并编写测试程序进行测试。
classDateInfo
intyear,month,day;
DateInfo():
year(2010),month(8),day(8){}
DateInfo(inty,intm,intd):
year(y),month(m),day(d){}
voidSet(inty,intm,intd)
year=y;
month=m;
day=d;
year<
年"
month<
月"
day<
日"
DateInfod1,d2(1988,8,18);
d1.Show();
d2.Show();
d2.Set(1999,9,19);
10.定义一个复数类Complex,二个数据成员为double型r,i为private属性。
定义带二个参数的构造函数和一个Show()函数用以输出r,i的值,另外作为成员函数重载的运算苻”+”的功能是将此类二个对象的数据成员r和i对应相加。
这些成员函数的属性均为public.请用C++编写此程序,并编写测试程序进行测试。
classComplex
doubler,i;
Complex(doublea,doubleb):
r(a),i(b){}
r<
i<
Complexoperator+(Complexobj)
{returnComplex(r+obj.r,i+obj.i);
Complexc1(3.5,4.5),c2(2.5,5.5),c3(0.0,0.0);
c3=c1+c2;
c3.Show();