c++类与对象练习题文档格式.docx

上传人:b****1 文档编号:14598253 上传时间:2022-10-23 格式:DOCX 页数:24 大小:119.70KB
下载 相关 举报
c++类与对象练习题文档格式.docx_第1页
第1页 / 共24页
c++类与对象练习题文档格式.docx_第2页
第2页 / 共24页
c++类与对象练习题文档格式.docx_第3页
第3页 / 共24页
c++类与对象练习题文档格式.docx_第4页
第4页 / 共24页
c++类与对象练习题文档格式.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

c++类与对象练习题文档格式.docx

《c++类与对象练习题文档格式.docx》由会员分享,可在线阅读,更多相关《c++类与对象练习题文档格式.docx(24页珍藏版)》请在冰豆网上搜索。

c++类与对象练习题文档格式.docx

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

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

当前位置:首页 > 工程科技 > 电子电路

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

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