实例化类和实例化对象简答题
1. 封装
封装是将数据和代码捆绑到一起,避免了外界的干扰和不确定性。例如C++中的类,它定义了该集合中每个对象所共有的属性和方法。
2. 继承
继承是让某个类型的对象获得另一个类型的对象的特征。例如:C++中子类对父类的继承,子类具有父类的特性,同时还可以拥有自己的新特性。
3. 多态
多态是指不同类型的对象接收相同的消息时产生不同的行为。多态机制使具有不同内部结构的对象可以共享相同的外部接口,通过这种方式减小代码的复杂度。例如函数的重载。
4. 什么是this指针?为什么要用this指针?
this指针是类中的一个特殊指针,当类实例化时,this指针指向对象自己;而在类的声明时,指向类本身。通过它不仅可以提升成员函数操作的效率,而且能简化运算符重载代码。
5. 叙述公有、私有、保护成员在类中、类外和对象中的访问权限。
类中的关键字public, private, protected 声明了类中的成员与类外之间的关系,称为访问权限 。
对于public成员来说,他们是公有的,可以在类外和对象中访问。
对于private成员来说,他们是私有的,不能在类外和对象中访问,数据成员只能由类中的函数使用,成员函数只允许在类中调用。
对于protected成员来说,他们是受保护的,具有半公开性质,可以在类中与子类中访问。
6. 构造函数和析构函数的作用是什么?
构造函数的功能是在创建对象时,给数据成员赋初值,即给对象初始化。
析构函数的功能是释放一个对象,在对象删除前,用来做一些内存释放等清理工作。
7. 什么是类的继承和派生?
继承是指一个事物可以继承其父辈全部或部分的特性,同时本身还有自己的特性。当一个新类从一个已定义的类中派生后,新类不仅继承了原有类的属性和方法,并且还拥有自己新的属性和方法,称为
类的继承和派生。
8. 派生类public继承方式有那些特点?
(1)在派生类中,基类的公有成员、保护成员和私有成员的访问属性保持不变。在派生类中,基类的私有成员是无法访问的,虽然基类的私有成员被派生类继承了。
(2)派生类对象只能访问派生类和基类的公有成员。
9. 派生类protected继承方式有那些特点?
(1)在派生类中,基类的公有成员、保护成员的访问属性都变成了保护的。
(2)在保护继承方式下,派生类中仍可以访问基类的公有成员和保护成员,但基类的私有成员是无法访问的。
(3)派生类对象只能访问派生类的公有成员,不能访问基类的任何成员。
10. 派生类private继承方式有那些特点?
(1)在派生类中,基类的公有成员、保护成员和私有
成员的访问属性都将变成私有的。
(2)私有继承方式下,派生类中仍可以访问基类的公有成员和保护成员,但基类的私有成员是无法访问的。
(3)派生类对象只能访问派生类的公有成员,不能访问基类的任何成员。
11. 对象赋初值有几中常见方式?哪些情况需要调用拷贝构造函数?
答:有三种方式:(1)通过默认构造函数(2)通过重载构造函数(3)通过赋值语句。
通过赋值语句的方法需要调用拷贝构造函数。
共有三个地方要调用拷贝构造函数:(1)赋值语句,即用对象给对象赋值。(2)对象作为函数的参数。(3)对象作为函数的返回值。
12. 说明Windows应用程序的主函数、窗口函数与Windows系统之间的关系。
答:Windows应用程序的主函数和窗口函数都是系统调用的函数,主函数是在应用程序启动时由系统首先调用的函数,而窗口函数是主函数在消息循环中获得消息并把消息派送给系统之后,由系统调用的用来处理消息的函数。
13. 简述构成文档/视图结构应用程序框架的四个MFC派生类,并说出它们的功能。
答:设工程名称为Ex,则MFC向导会自动创建四个派生类来构成应用程序的框架:
CFrame类的派生类CMainFrame;
CWinApp类的派生类CExApp;
CDocument类的派生类CExDoc;
CView类的派生类CExView。
其中,CExDoc类对象用来存储和管理应用程序中的数据;CMainFrame对象与CExView对象构成了应用程序的界面,CMainFrame对象只是CExView对象的容器,而CExView类的对象是用来显示文档与接收用户事件的;CExApp类的对象是应用程序的全局对象,它是应用程序中各对象的容器,负责创建应用程序界面和消息循环。
14. 什么是消息? 什么是消息循环?
答:消息是描述事件发生的信息(如按下鼠标或键盘),而windows程序设计是针对事件或消息进行处理的。
答:在创建了窗口的应用程序中,应用程序将不断地从消息队列中获取消息,并将消息指派给指定的窗口处理函数来处理,然后再回来从消息队列获取消息,这个不断重复的工作过程叫做消息循环。
15. MFC中消息映射完成的主要工作有哪些?
消息映射完成的主要工作有:
(1)在对应类头文件中,添加相应消息映射函数的原型声明。
(2)在类实现文件的消息映射,添加相应的消息映射宏。
(3)在类的实现文件添加消息处理函数的实现代码。
16. 程序运行时,用户选中一个菜单项,会发出哪种消息?根据什么来判断消息源?
答:用户选中菜单项时,会发出WM_COMMAND消息,系统根据菜单项的标识ID来识别是哪一个菜单项发出的消息。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论