武汉大学面向对象程序设计期末试题及答案解析

版权申诉
0 下载量 128 浏览量 更新于2024-09-07 收藏 572KB PDF 举报
"VC++期末考试题及标准答案.pdf" 这份资料是关于VC++的期末考试试题及其答案,涵盖了面向对象编程的基础概念,包括构造函数、多态性、抽象类、文档模板以及序列化等关键知识点。 1. 构造函数:构造函数是C++中一个特殊类型的成员函数,它的主要作用是在创建对象时初始化成员变量。其特性包括: - 名称与类名相同 - 没有返回值类型,即使默认的void也不行 - 可以重载,即一个类中可以有多个不同参数列表的构造函数 2. 多态:多态是面向对象编程的核心特性之一,允许不同的对象对同一消息作出不同的响应。多态有两种形式: - 编译时多态:通过函数重载和运算符重载实现,编译器在编译期间就能确定调用哪个函数 - 运行时多态:通过虚函数和继承实现,运行时系统根据对象的实际类型决定调用哪个函数 3. 抽象类:抽象类不提供完整实现,至少包含一个纯虚函数。它不能被实例化,主要用于作为基类,提供接口给派生类实现。抽象类是抽象基类的一种,用于定义接口规范。 4. 文档模板:在MFC(Microsoft Foundation Classes)框架下的文档/视图架构中,文档模板是一个关键概念。它定义了特定文档类型与视图、窗口类之间的关系,管理文档、视图和框架窗口的创建,并控制与之相关的菜单和工具栏资源。 5. 序列化:序列化是将对象的状态转换为可以存储或传输的数据格式的过程,通常用于持久化对象状态。对象能够保存到文件或数据库中,然后在后续的程序运行时通过反序列化恢复状态。 6. 简答题涉及的内容:文档、视图和应用程序框架之间的交互是MFC应用程序设计的关键。文档存储数据,视图负责显示这些数据,而框架窗口则作为用户界面的容器。视图与文档的通信通过共享数据和成员函数完成,一个文档可以有多个视图,但每个视图仅关联一个文档。视图通过`GetDocument()`访问文档,而文档通过`Invalidate()`、`UpdateAllViews()`或消息机制更新视图的显示。 这份资料对于学习和复习VC++的面向对象编程概念非常有帮助,特别是对于理解MFC框架下的文档/视图架构和对象状态的持久化管理。