C++重修考试大题填空选择判断没给出含答案.docx

上传人:b****5 文档编号:6083640 上传时间:2023-01-03 格式:DOCX 页数:13 大小:18.68KB
下载 相关 举报
C++重修考试大题填空选择判断没给出含答案.docx_第1页
第1页 / 共13页
C++重修考试大题填空选择判断没给出含答案.docx_第2页
第2页 / 共13页
C++重修考试大题填空选择判断没给出含答案.docx_第3页
第3页 / 共13页
C++重修考试大题填空选择判断没给出含答案.docx_第4页
第4页 / 共13页
C++重修考试大题填空选择判断没给出含答案.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

C++重修考试大题填空选择判断没给出含答案.docx

《C++重修考试大题填空选择判断没给出含答案.docx》由会员分享,可在线阅读,更多相关《C++重修考试大题填空选择判断没给出含答案.docx(13页珍藏版)》请在冰豆网上搜索。

C++重修考试大题填空选择判断没给出含答案.docx

C++重修考试大题填空选择判断没给出含答案

1.设计一个类Rect,要求如下:

(1)该类中的私有数据成员length,width存放它的长和宽,并且设置它们的默认值是0。

(2)通过成员函数设置其长和宽,并确保长和宽都在(0,50)范围之内。

(3)实现求周长函数GetPerimeter()。

#include

usingnamespacestd;

classRect

{

private:

doublelength,width;

public:

Rect(doublel=0,doublew=0):

length(l),width(w){}

voidSet(doublel,doublew)

{

if(length<=0||length>=50||width<=0||width>=50)

throw"数据不在指定范围(0,50)!

";//抛出异常

length=l;

width=w;

}

doubleGetPerimeter(){return2*(length+width);}

};

intmain()

{

try//检查异常

{

Rectobj(1,8);

cout<<"周长:

"<

}

catch(char*str)//捕捉异常

{//处理异常

cout<<"异常信息:

"<

}

return0;

}

2.定义一个二维座标类Vector2d,二个数据成员为double型x,y为private属性。

定义代二个参数的构造函数和一个Show()函数用以输出x,y的值,另外作为成员函数重载的运算苻”+”的功能是将此类二个对象的数据成员x和y对应相加。

这些成员函数的属性均为public.请用C++编写此程序,并编写测试程序进行测试

#include

usingnamespacestd;

classVector2d

{

doublex,y;

public:

Vector2d(doublea,doubleb):

x(a),y(b){}

voidShow(){cout<

Vector2doperator+(Vector2d&obj);

};

Vector2dVector2d:

:

operator+(Vector2d&obj)

{returnVector2d(x+obj.x,y+obj.y);}

intmain()

{

Vector2dd1(3.5,4.5),d2(2.5,5.5),d3(0.0,0.0);

d3=d1+d2;

d3.Show();

return0;

}

3.设计一个立方体类Box,它能计算并输出立方体的体积和表面积。

#include

usingnamespacestd;

classBox

{

private:

doublelength;//立方体边长

doublevolume;//体积

doublearea;//表面积

public:

/*

*构造函数

*/

Box(doublel)

{

length=l;

volume=0.0;

area=0.0;

}

/*

*计算体积

*/

doublegetVolume()

{

returnlength*length*length;

}

/*

*计算表面积

*/

doublegetArea()

{

returnlength*length*6;

}

/*

*输出立方体体积和表面积

*/

voidshow()

{

volume=getVolume();

area=getArea();

cout<<"立方体的体积:

"<

"<

}

};

/*

*主函数

*/

intmain()

{

intlength=0;

cout<<"请输入立方体的边长:

";

cin>>length;

Boxbox(length);

box.show();

getchar();

return0;

}

4.编程实现抽象类Employee,派生类Manger和HourlyWorker,Employee有数据成员姓名name和工号ID,Manger有数据成员sal,代表经理的月工资,HourlyWorker有wage和hours,分别代表钟点工的每小时的工资数和月工作时数,定义的所有类中必须包含构造函数、析构函数、修改和获取所有数据成员的成员函数,以及虚函数来计算职员的工资、输出职员的姓名name和工号ID。

#include

#include

usingnamespacestd;

classEmployee

{

public:

Employee(){};

virtualvoidgongzi(){cout<<"no";}

voidxianshi(){cout<<"no";}

stringname;

stringid;

~Employee(){};

};

classManger:

publicEmployee

{

public:

Manger(strings1,strings2){name=s1;id=s2;}

voidgongzi()

{

cout<

"<

cout<

}

voidxianshi()

{

cout<<"经理的姓名为:

"<

cout<<"经理的ID为:

"<

}

voidset()

{

cout<<"请修改经理的月工资为:

";

cin>>sal;

cout<

}

~Manger(){};

private:

intsal;

};

classHourlyWorker:

publicEmployee

{

public:

HourlyWorker(strings1,strings2)

{

name=s1;id=s2;

}

voidgongzi()

{

cout<

"<

}

voidxianshi()

{

cout<<"钟点工的姓名为:

"<

cout<<"钟点工的ID为:

"<

}

voidset()

{

cout<<"请输入钟点工每小时的工资数:

";

cin>>wage;

cout<

cout<<"请输入钟点工月工作时数:

";

cin>>hours;

cout<

}

~HourlyWorker(){};

private:

intwage;

inthours;

};

voidfun(Employee*p)

{

p->gongzi();

}

voidmain()

{

Mangerzhangye("zhangye","200913030135");

HourlyWorkerzjy("zhangjunyu","200913030104");

zhangye.xianshi();

zhangye.set();

fun(&zhangye);

zjy.xianshi();

zjy.set();

fun(&zjy);

}

5.编写一个函数模板,用于求参数的绝对值,并编写测试程序进行测试。

函数模板声明如下:

template

TypeAbs(TypetVar)

#include

usingnamespacestd;

template

TypeAbs(TypetVar)

{

if(tVar>=0)returntVar;

elsereturn-tVar;

}

 

intmain()

{

cout<

cout<

cout<

cout<

return0;

}

6.定义一个复数类CComplex,定义带有2个参数(其中一个为缺省参数)的构造函数,显示复数值的函数Show(),重载“+”运算符(用成员函数实现),并编写测试程序进行测试。

#include

usingnamespacestd;

classCComplex

{

public:

CComplex(doubledReal,doubledImage=0)

{

m_dReal=dReal;

m_dImage=dImage;

}

voidShow()

{

cout<

if(m_dImage>0)

{

cout<<"+"<

}

elseif(m_dImage<0)

{

cout<<"-"<<-m_dImage<<"i"<

}

}

CComplexoperator+(constCComplex&obj)

{

CComplexobjTemp(m_dReal+obj.m_dReal,m_dImage+obj.m_dImage);

returnobjTemp;

}

private:

doublem_dReal,m_dImage;

};

 

intmain()

{

CComplexobj1(2,6),obj2(3,8),obj3(0);

obj1.Show();

obj2.Show();

obj3.Show();

obj3=obj1+obj2;

obj3.Show();

return0;

}

7.(1)下面程序的打印结果是_1251121_ . 

#incude  

intf(int);  

intmain()  

{ inti;  

  for(i=0;i<5;i++)  

  cout<

  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;  

};  

intmain()  

{ MyClassmy(10);  

  cout<

  return0;  

}  

8.定义一个抽象类CShape,它有一个纯虚函数GetLength();派生出四边型类CSquare和圆类CCircle,在派生类中重载函数GetLength(),用于求图形的周长,编写测试程序进行测试。

#include

usingnamespacestd;

classCShape

{

public:

virtualdoubleGetLength()const=0;

};

classCSquare:

publicCShape

{

public:

CSquare(doubledWidth,doubledHeight)

{

m_dWidth=dWidth;

m_dHeight=dHeight;

}

doubleGetLength()const

{

return2*(m_dWidth+m_dHeight);

}

private:

doublem_dWidth,m_dHeight;

};

classCCircle:

publicCShape

{

public:

CCircle(doubledRadius)

{

m_dRadius=dRadius;

}

doubleGetLength()const

{

return3.1415926*m_dRadius*m_dRadius;

}

private:

doublem_dRadius;

};

intmain(void)

{

CSquareoSquare(2,3);

cout<

CCircleoCircle(10);

cout<

return0;

}

 

9.设计一个类DateInfo,要求其满足下述要求:

(1)要求有一个无参的构造函数,其初始的年、月、日分别为:

2010,8,8。

(2)要求有一个带参数的构造函数,其参数分别对应年、月、日。

(3)要求用一个成员函数实现日期的设置。

(4)要求用一个成员函数实现输出日期。

请用C++编写此程序,并编写测试程序进行测试。

#include

usingnamespacestd;

classDateInfo

{

private:

intyear,month,day;

public:

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;

}

voidShow(){cout<

};

intmain()

{

DateInfod1,d2(1988,8,18);

d1.Show();

d2.Show();

d2.Set(1999,9,19);

d2.Show();

return0;

}

10.定义一个复数类Complex,二个数据成员为double型r,i为private属性。

定义带二个参数的构造函数和一个Show()函数用以输出r,i的值,另外作为成员函数重载的运算苻”+”的功能是将此类二个对象的数据成员r和i对应相加。

这些成员函数的属性均为public.请用C++编写此程序,并编写测试程序进行测试。

#include

usingnamespacestd;

classComplex

{

private:

doubler,i;

public:

Complex(doublea,doubleb):

r(a),i(b){}

voidShow(){cout<

Complexoperator+(Complexobj)

{returnComplex(r+obj.r,i+obj.i);}

};

intmain()

{

Complexc1(3.5,4.5),c2(2.5,5.5),c3(0.0,0.0);

c3=c1+c2;

c3.Show();

return0;

}

 

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1