面向对象程序设计综合练习题 下载本文

【1】 ; }

test::test(test& t) {

【2】 ; x=t.x; }

答案:【1】 x=f; 【2】 num=t.num;

3-2.根据下面的主程序,完成类说明的最小形式(不要求实现成员函数的定义)。 #include class Base {

private: 【1】 ; //定义数据成员num public:

【2】 ; //构造函数声明 };

void main() {

Base base1(8) ; }

答案:【1】 int num

【2】 Base(int n)

3-3.一个类的头文件如下所示,程序产生对象T,且T.num=10,并使用P()函数输出这个对象的值。

#include class test {

private: int num; public: };

test::test(int n){num=n;}

void test::P(){cout<

void main() {

【1】 ; //定义类对象

- 25 -

test(int); void P();

【2】 ; //输出对象的值 }

答案:【1】 test T(10) 【2】 T.P()

4-1.填上合适的语句,使程序的最终结果为200。 #include class number {

private: int val;

public: number(int i){val=i;} 【1】 int(); };

number::operator int(){ 【2】 }

class num:public number {

public:

num(int i):number(i){} };

void main() {

num n(100); int i=n;

cout<

答案:【1】 operator 【2】 return val;

六、阅读程序,写出程序的输出结果 1-1.

#include int add(int x,int y) {

return x+y+1;

}

double add(double x,double y) {

return x+y-1; }

void main() {

- 26 -

//声明类型转换函数 //定义类型转换函数

int a=2,b=4 ;

double c=2.7,d=7.4 ;

cout<<\ \ }

执行结果是: 答案:add(a,b)=7 add(c,d)=10.1 1-2.

#include

int func(int a) {

int b=0; static int c=4; b++;c--; return (a+b+c); }

void main() {

int i=2;

for(int j=0;j<2;j++) cout<

运行结果: 答案:6 6 1-3.

#include void main() { int i,j;

for(i=1;i<=3;i++) {j=1;

while(j

输出结果: 答案: 2 1 3 1 3 2

- 27 -

{ cout<

} }

1-4.

#include void func(int,int,int *); void main() { int x,y,z; func(1,2,&x); func(3,x,&y);

func(x,y,&z);

cout<

void func(int a,int b,int *c) { }

输出结果: 答案: 0 -6 -6 3-1.

#include class Sample { int n; public:

Sample(int i){n=i;}

friend int add(Sample &s1,Sample &s2); };

int add(Sample &s1,Sample &s2) {

return s1.n+s2.n; }

void main() {

Sample s1(10),s2(20); cout<

执行结果是: 答案:30 3-2.

- 28 -

b-=a; *c=b-a;