VC++程序设计试题(B)
一、单项选择(每题1.5分,10小题,共15分)
下列不属于面向对象程序设计的3大机制的是( )
A.多态 B.封装 C.重载 D.继承
2、关于对象,下列说法中不正确的是( )
A.对象是类的一个实例 B. 一个类只能有一个对象
C.任何一个对象只能属于一个类
D.类与对象的关系和数据类型与变量间的关系类似
3、关于类的成员,下列正确的说法是( )
A.数据成员必须定义为私有的 B.成员函数必须定义为公有的
C.数据成员和成员函数都可以为private public protect属性之一
D.公有成员函数只能访问类的公有成员,私有成员函数只能访问类的私有成员
4、要实现动态束定,必须通过()调用虚函数。
A. 对象指针 B.成员名限定 C. 对象名 D. 派生类名
5、关于友元下列说法错误的是( )
A.类的友元函数可以访问类的所有成员
B.类的友元函数只能访问类的私有成员
C.类A是类B的友元类,则A的所有成员函数可访问B的任何成员
D.类的友元函数不属于类
6、MFC主要由( )组成
A. 基础类库、全局函数 B. 基础类库、全局变量、宏
C.基础类库、宏 D.基础类库、全局变量、全局函数、宏
7、关于构造函数,下列说法不正确的是()
A.一个类中有且仅有一个构造函数
B.构造函数在说明类变量时被自动执行
C.构造函数没有返回值
D.类中的构造函数的函数名与该类的类名必须同名
8、程序对资源的调用主要是靠( )来识别。
A.资源名称 B.资源类型 C.资源的ID号 D.以上都可以
9、在一个GDI对象使用完后,通常应当调用()函数将其从设备描述符表分离出来,再将其删除,以免造成系统资源的浪费。
A. Attach() B.ReleaseDC() C.Detach() D.DeleteDC()
10、使用GetWindowDC()和GetDC()获取的设备描述符表,在退出时必须调用( )来释放。
A.ReleaseDC() B.Delete() C.DeleteDC() D.Detach()
二、判断题(每题1分,10小题,共10分)
1.类实现了数据的封装。 ()
2.一个类一定有构造函数和析构函数。 ()
3.友元函数是类的成员函数。 ()
4.析构函数可以重载。 ()
5.析构函数没有返回值类型。 ()
6.调用对话框类的成员函数DoModal()显示模态对话框。()
7.消息是事件发生时所产生的信息。 ()
8.模态对话框允许用户切换到本应用程序的其他窗口。()
9.程序对资源的调用主要是靠资源的ID号来识别的。()
10.接收鼠标消息的窗口必须是活动窗口。 ()
三、填空题(每空1分,共15分)
1.Windows的3种主要的消息类型_______、_______、_______。
2.模板分为_______模板和_______模板。
3. _______是在对象被创建时自动执行,对象消失时自动指向的成员函数称为_______。
4.B类中包含一个A类的成员a,则生成B类的对象时构造函数的调用顺序为______,删除B类的对象时析构函数的调用顺序为______。
5. _____是一种特定类型的输入或输出窗口,通常为其父窗口所拥有。
6.Windows下的对话框分为_______对话框和_______对话框。
7.按钮控件分为_______、_______和_______三种。
四、读程题(4小题,共30分)
1.下面程序运行的结果为_______(7分)
#include “iostream.h”
class A
{ public: A() {cout<<”A的构造函数”<