C++上机期末考题答案

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一改错阅读下列程序,改正程序中的错误。(1)

class A

{private:

int x,y;

public:

void fun(int i,int j=0)

{x=i;y=j;}

void show()

{cout<

};

void main()

{A a1;

(2);

();

}

(2)

#include

class Date;

class Time

{public:

Time(int h,int m,int s)

{hour=h,minute=m,sec=s;}

void show(Date & d);

private:

int hour,minute,sec;

};

class Date

{public:

Date(int m,int d,int y)

{month=m,day=d,year=y;}

friend void Time::show(Date &);

private:

int month,day,year;

};

void Time::show(Date & d)

{cout<< <<"-"<<<<"-"<<<

cout<

{Time t1(9,23,50);

Date d1(12,20,2008);

(d1);}

(3)

#include <>

class Test

{private:

int x,y=20;

static int m;

public:

Test(int i,int j){x=i,y=j;}

int getx(){return x;}

int gety(){return y;}

static int f(){return m;}

};

int Test::m=0;

void main()

{Test mt(10,20);

cout<<<

cout<< <

}

二.填空题

1.一个类的头文件如下所示,num初始化值为5,程序产生对象T,且修改num为10,并使用show()函数输出num的值10。

#include <>

class Test

{private:

static int num;

public:

Test(int);

void show();

};

_________

Test::Test(int n)

{num=n;}

void Test::show()

{cout<

void main()

{Test t(10);

_________

}

答案:int Test::num=5;,();

(2)在下划线处填上缺少的部分。

#include <>

class A

{int a,b;

public:

_____;给出下面程序输出结果。

#include <>

class example

{int a;

public:

example(int b=5){a=b++;}

void print(){a=a+1;cout <

void print()const

{cout<

};

void main()

{example x;

const example y(2);

();

();

}

答案:62[解析]x是普通对象,调用普通的print函数;而y常对象,调用常成员函数。

(2)

#include <>

class My

{public:

My(){cout<<'A';}

My (char c){cout<

~My (){cout<<'B';}};

int main()

{My p1,*p2;

p2=new Myclass[2];

delete p2;

return 0;}

答案

AAAXXB

(3)

class A

{float x;

public:

A(int a) { x=a; cout<<"调用了A的构造函数\n"; }

~A() { cout<<"调用了A的析构函数\n"; }};

class B{

float y;

public:

B(int a) { y=a; cout<<"调用了B的构造函数\n"; }

~B() { cout<<"调用了B的析构函数\n"; }};

class C{

float z; B b1; A a1;

public:

C(int a, int b, int c) : a1(a), b1(b) { z=c;cout<<"调用了C的构造函数\n"; }

~C() { cout<<"调用了C的析构函数\n"; }

};

void main(void)

{ C c1(1, 2, 3); }

调用了B的构造函数

调用了A的构造函数

调用了C的构造函数

调用了C的析构函数

调用了B的析构函数

调用了A的析构函数

相关文档
最新文档