2021年面向对象程序设计资料

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

广州大学~ 年第一学期考试卷

课程面向对象程序设计考试形式(闭卷,考试)

学院系专业班级学号姓名

一、填空题(20分)

1、__ ___是特殊成员函数,在对象作用域结束时自动调用。

2、友元关系是非传递和_ ____,除非特别声明,否则,普通状况

下若F是A友元,A__ ___F友元。

3、运算符函数既可以重载为_ __函数,也可以重载为友元函数。

4、在具备继承关系类层次构造中,构造函数执行顺序是:_

__、_ _ _、。

5、具备纯虚函数类称为__ ___。

6、Windows应用程序主窗口普通都是_ _类派生类,而窗口函数

则被封装到_ __类中。

7、MFC是用消息映射表来实现消息与 ___之间映射,MFC通过

_ __ __个宏来声明和实现消息映射表。

8、MFC采用构造来实现数据和数据显示分离。应用程序数据

是由文档类_ _对象来存储和管理。

9、CPaintDC是_ __类中最惯用派生类,它只能使用在

_ __类OnDraw函数中。

10、消息消息响应函数函数名为OnMouseMove。

11、是供Windows应用程序使用特殊数据,它们驻留在硬盘

上可执行文献中。惯用资源有、快捷键、图标、位图等。

12、_ ___就是指应用程序把数据对象以文献形式写入永久性存

储体后,应用程序还能从永久性存储体来读取它,并且可以根据该

文献在内存中重新创立该对象机制。。

二、简述题(20分,每题5分)

(1)Windows应用程序主函数有哪3个重要任务?什么是消息循环?

(2)简述文档/视图构造中文档类和视图类作用。并阐明在文档/视图构

造应用程序中,视图类对象是如何来获取文档类对象中数据。

(3)应用程序界面有哪三种方式?分别阐明该界面应用程序外观。

(4)鼠标消息分为哪两类?它们之间有什么区别?

三、阅读下列程序,写出执行成果。(40分,每题5分)

1、#include

class counter

{ public :

void setnum ( int i ) { num = i ;}

void shownum ( ) { cout << num << '\t' ;}

static int num ;

} ;

int counter ::num = 1 ;

void main()

{ int i ;

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

{ counter::num += i ;

cout << counter::num << '\t' ; } cout<

}

2、#include

class A

{public:

A(){a=5;}

void printa(){cout<<"A:a="<

int a;

friend class B;

};

class B

{public:

void display1(A t){t.a++;cout<<"display1:a="<

void display2(A t){t.a--;cout<<"display2:a="<

void main()

{ A obj1;B obj2;

obj1.printa();

obj2.display1(obj1);

obj2.display2(obj1);

obj1.printa();

}

3、#include

template

class base

{public:

base(T i,T j){x=i;y=j;}

T sum(){return x+y;}

private:T x,y;

};

void main( )

{ base obj2(3.3,5.5);

cout<

base obj1(3,5);

cout<

}

4、#include

class Base

{ public:void abc(){cout<<"Base class"<

};

class Derived1:public Base

{ public:void abc(){cout<<"Derived1 class"<

};

class Derived2:public Base

{ public:void abc(){cout<<"Derived2 class"<

};

void main()

{ Base obj1,*p;Derived1 obj2;Derived2 obj3;

p=&obj1;p->abc();

p=&obj2;p->abc();

p=&obj3;p->abc();

obj1.abc(); obj2.abc(); obj3.abc();

}

5、#include

class parent_class

{ int private1 ,private2 ;

public :

parent_class ( int p1 ,int p2 )

{ private1 = p1;private2 = p2;}

int inc1 ()

{ return ++ private1;}

int inc2 ()

相关文档
最新文档