MFC C++ 学习笔记:全局变量与类的奥秘

需积分: 3 2 下载量 160 浏览量 更新于2024-07-28 收藏 1.81MB DOC 举报
"MFC C++ 学习笔记初步介绍,包含C++基础知识和MFC应用技巧,适合初学者。笔记内容涉及全局变量的作用域、外部变量声明、类构造函数、this指针等,并解答了在VC开发中遇到的常见问题,如类视图显示、控件焦点判断、数据更新及字符串操作等。" 在MFC(C++的Microsoft Foundation Classes)开发中,深入理解基础C++概念至关重要。全局变量和静态变量的概念是编程的基础,全局变量可以在整个程序中被访问,而全局静态变量则限制在定义它的文件内部。在不同文件间共享全局变量,需要使用`extern`关键字来声明其外部可见性,如`extern int g_num;`。 类的构造函数在创建对象时执行,确保对象的初始状态。子类构造函数在执行时会先调用基类的构造函数,这是保证继承层次正确初始化的关键。在类中,不能直接为成员变量赋值,一般在构造函数的初始化列表中进行,如`MyClass::MyClass(int val) : m_value(val) {}`。 `this`指针是每个非静态成员函数的一个隐含参数,它指向调用该函数的对象实例。在MFC中,经常利用`this`指针来访问或修改对象的成员。 在VC环境中,有时会出现类视图中看不到新添加类的情况。解决方法是删除项目的中间文件(*.aps, *.clw, *.ncb, *.opt),然后重新打开项目。处理用户界面交互时,可以通过全局变量追踪焦点控件,比如在编辑框的`SetFocus`消息响应函数中更新全局变量,按钮点击事件中根据全局变量判断焦点位置。 MFC提供了丰富的控件操作函数,如`UpdateData`用于数据交换,`SetDlgItemText`用于设置对话框控件的文本。字符串操作在MFC中很常见,可以使用`GetWindowText`获取控件内容,`SetWindowText`设置控件文本,`Format`构建格式化字符串。将字符串转换为数值类型,可以使用`atof`、`atoi`、`_atoi64`、`atol`等函数。 这些笔记内容为初学者提供了一个良好的起点,通过学习和实践,可以逐步掌握MFC和C++编程的基础技能。