c++类与对象练习题文档格式.docx
- 文档编号:14598253
- 上传时间:2022-10-23
- 格式:DOCX
- 页数:24
- 大小:119.70KB
c++类与对象练习题文档格式.docx
《c++类与对象练习题文档格式.docx》由会员分享,可在线阅读,更多相关《c++类与对象练习题文档格式.docx(24页珍藏版)》请在冰豆网上搜索。
D.setValue(intn0){n=n0;
3.5在下面的类定义中,错误的语句是(C)。
classsample{
sample(intval);
//①
~sample();
//②
private:
inta=2.5;
//③
sample();
//④
};
A.①B.②C.③D.④
3.6类的构造函数被自动调用执行的情况是在创建该类的(C)。
A.成员函数时B.数据成员时
C.对象时D.友元函数时
3.7(A)是析构函数的特征。
A.一个类中只能定义一个析构函数
B.析构函数名与类名不同
C.析构函数的定义只能在类体内
D.析构函数可以有一个或多个参数
3.8在下列函数原型中,可以作为类AA构造函数的是(D)。
A.voidAA(int);
B.intAA();
C.AA(int)const;
D.AA(int)
3.9关于成员函数特征的下述描述中,(A)是错误的。
A.成员函数一定是内联函数
B.成员函数可以重载
C.成员函数可以设置参数的默认值
D.成员函数可以是静态的
3.10不属于成员函数的是(B)。
A.静态成员函数B.友元函数
C.构造函数D.析构函数
3.11已知类A是类B的友元,类B是类C的友元,则(d)。
A.类A一定是类C的友元
B.类C一定是类A的友元
C.类C的成员函数可以访问类B的对象的任何成员
D.类A的成员函数可以访问类B的对象的任何成员
3.12有如下类定义:
classAA{
inta;
intgetRef()const{return&
a;
}//①返回类型为int,return&
a为地址
intgetValue()const{returna;
}//②
voidset(intn)const{a=n;
}//③常函数不能修改成员
friendvoidshow(AAaa)const{cout<
<
}//④友元函数不能是常函数
其中的四个函数定义中正确的是(B)。
A.①B.②C.③D.④
3.13有如下类定义:
classTest{
public:
Test(){a=0;
c=0;
}//①常成员必须在初始化列表中初始化
intf(inta)const{this->
a=a;
}//②常函数不能修改成员
voidh(intb){Test:
b=b;
//③
staticintg(){returna;
}//④静态函数要通过对象访问成员
private:
inta;
staticintb;
constintc;
intTest:
b=0;
在标注号码的行中,能被正确编译的是(C)。
A.①B.②C.③D.④
4写出程序程序执行结果。
4.1#include<
iostream>
usingnamespacestd;
classTest{
Test(){n+=2;
}
~Test(){n-=3;
staticintgetNum(){returnn;
staticintn;
n=1;
intmain(){
Test*p=newTest;
deletep;
cout<
”n=”<
Test:
getNum()<
endl;
return0;
n=0
4.2#include<
classAA{
AA(intk):
n(k){}
intget(){returnn;
intget()const{returnn+1;
AAa(5);
constAAb(6);
a.get()<
”,”<
b.get();
57
4.3#include<
classMyClass{
intnumber;
voidset(inti);
intnumber=3;
voidMyClass:
set(inti){
number=i;
voidmain(){
MyClassmy1;
intnumber=10;
my1.set(5);
my1.number<
5
my1.set(number);
10
my1.set(:
number);
my1.number;
5103
4.4#include<
staticintval;
staticintfunc();
voidsfunc(Test&
r);
val=200;
func(){
returnval++;
voidTest:
sfunc(Test&
r){
r.a=125;
"
Result3="
r.a<
Result1="
func()<
200
Testa;
Result2="
a.func()<
201
a.sfunc(a);
125
Result1=200
Result2=201
Result1==125
5.编程题
5.1构造一个日期时间类(Timedate),数据成员包括年、月、日和时、分、秒,函数成员包括设置日期时间和输出时间,其中年、月用枚举类型,并完成测试(包括用成员函数和用普通函数)。
#include<
iostream.h>
conio.h>
iomanip.h>
enumYR{Y2000,Y2001,Y2002,Y2003,Y2004,Y2005};
//枚举名必须是标识符
enumMT{Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec};
classTimedate{
YRyear;
MTmonth;
intdate;
inthh;
intmm;
intss;
Timedate(){year=Y2000;
month=Jan;
date=1;
hh=0;
mm=0;
ss=0;
Timedate(YRa,MTb,intc){
year=a;
month=b;
date=c;
hh=12;
mm=30;
voidgetdate(YR&
MT&
int&
);
//体会用引用的优点,一次可返回3个值
voidgettime(int&
voidputdate(YR,MT,int);
voidputtime(int,int,int);
voidlist();
voidTimedate:
getdate(YR&
y,MT&
m,int&
d){
y=year;
m=month;
d=date;
gettime(int&
a,int&
b,int&
c){
a=hh;
b=mm;
c=ss;
putdate(YRa,MTb,intc){
year=a;
month=b;
date=c;
puttime(inta,intb,intc){
hh=a;
mm=b;
ss=c;
list(){//成员函数
year/month/date:
;
switch(year){
caseY2000:
cout<
2000"
break;
caseY2001:
2001"
caseY2002:
2002"
caseY2003:
2003"
caseY2004:
2004"
caseY2005:
2005"
switch(month){//,,,,,,,,
caseJan:
'
/'
Jan"
caseFeb:
Feb"
caseMar:
Mar"
caseApr:
Apr"
caseMay:
May"
caseJun:
Jun"
caseJul:
Jul"
caseAug:
Aug"
caseSep:
Sep"
caseOct:
Oct"
caseNov:
Nov"
cas
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 对象 练习题
![提示](https://static.bdocx.com/images/bang_tan.gif)