Content
C++复习笔记
选择题
- 函数重载中, 函数名相同, 但是形参的个数或者形参的类型应该不相同
- 在继承中, 析构函数可以被继承, 派生类也是基类的延续, 派生类的成员除了它自己的成员外, 还包含了它的基类的成员
- 拷贝构造函数的声明形式:
类名(类名 & 对象名);
eg:A(A&);
- 一个类的友元类的成员函数都是这个类的友元函数
- 友元的正确使用可以提高程序的运行效率
- 静态数据成员是类的所有对象所共有的. eg:
static int a;
- (异常处理)
catch
只检查只捕获异常信息的类型, 不检查它们的值 - 实现两个相同类型数加法的函数模板的声明是
T add(T x,T y)
- 析构函数不需要指定参数
- 不会调用拷贝构造函数的是:
将类的一个对象赋予该类的另一个对象时
填空题
- 指向常量的指针, 在定义指针的要在前面加上
const
, eg:const char * p = "abcd";
- 在类的成员函数中, 若要访问类本身的对象, 可以使用一个特殊指针
this
- 带有 纯虚函数 的类称为抽象类, 抽象类的特征是不能声明一个抽象类的对象, 但可以声明一个抽象类的指针或引用
- 基于MFC对话框编程时, 若要将变量的值更新到界面, 使用
UpdateData(FALSE);
- MFC中使用GDI绘图中, 有一个重要的类叫设备上下文, 其类名为
CDC
- MFC的文档/视图结构中,有两个重要的类分别叫
文档类(CDocument)
和视图类(CView)
- 所有类的根类类名叫
CObject
编程题
- 用友元函数重载运算符
1 |
|
- 继承的例子
1 |
|
简答题
- 简述Windows API窗口编程的主要步骤
答:主要有4个步骤:
- (1)注册窗口类;
- (2)程序初始化(或,分成2步:创建窗口,显示窗口)
- (3)建立消息主循环
- (4)使用窗口函数处理消息
评分:第2步2分,其余步骤各1分。回答的意思清楚就可以,不要求非常严谨。
- 简述MFC编程中建立和使用对话框窗口的主要过程
答:主要有5个步骤:
- (1)设计对话框的外观(资源)
- (2)创建对话框窗口类
- (3)在使用处,定义对话框类的对象
- (4)用对象来调用DoModal函数以显示对话框
- (5)使用对话框对象中的成员变量带回的数据
评分:每步各1分。回答的意思清楚就可以,不要求非常严谨。
- 说明在窗口中采用自定义画笔和画刷绘制矩形、圆和输出文本的方法,或写出关键代码案例。
答:主要有三个步骤
- (1)绘制矩形:创建新画笔和新画刷,并选入窗口的CDC对象,再使用Rectangle函数画矩形
- (2)绘制圆:创建新画笔和新画刷,并选入窗口的CDC对象,再使用Ellipse函数画圆
- (3)输出文本:设置窗口CDC的前景色和背景色,再使用TextOut函数输出文本
评分:矩形、圆 — 各2分,文本 – 1分。回答的意思清楚就可以,不要求非常严谨。
- 简述MFC中文档-视图结构中,文档类和视类各自的职责以及相互间的怎样互动方法
答:
- (1)文档负责数据的存储、管理、保存 — (1分)
- (2)视图负责数据的显示、用户交互 — (2分)
- (3)文档通过UpdateAllViews来使得视图重绘 — (1分)
- (4)视图通过GetDocumnet函数来得到相应的文档指针 — (1分)
- 什么是通用对话框?试举一例来说明其使用。
答:
- (1)对于可视化编程中常用的颜色、文件、文本替换、字体、打印等选择的情况经常发生,于是MFC就预先定义了有关对话框的类,用户不需要再设计对话框界面,就可以简单地使用统一风格的对话框来满足应用的要求。
这种预先定义的、相对频繁的功能对话框就是通用对话框。 — (2分) - (2)譬如CColorDialog类就是颜色选择对话框,它提供了颜色选择的常用功能。
用户定义ColorDialog类的对象,通过设置其数据成员m_cc来初始化对话框,通过调用DoModal来启动显示对话框。一旦用户确认后可以通过调用GetColor成员函数或直接访问m_cc来得到用户最终选择的颜色。 — (3分)
- 设备环境接口是什么?它与CDC类有什么关系?
答:
- (1)图形设备接口GDI管理windows的图形输出,它提供用户使用的绘图函数,以及一些图形对象,并管理绘图状态。 — (2分)
- (2)CDC类是GDI的封装类,它定义了环境对象,提供了各种图形设备的绘图方法,并包含了使用设备环境的GDI函数。 — (3分)