MFC可视化编程:继承与this指针在形状类中的应用
需积分: 50 67 浏览量
更新于2024-08-19
收藏 1.95MB PPT 举报
在本篇文章中,我们将深入探讨MFC(Microsoft Foundation Classes)框架下的可视化编程,特别是通过三个奇特的编程现象来理解面向对象编程(OOP)中的关键概念。首先,我们将回顾一些基础的VC++知识,如类与对象、继承机制、this指针和虚拟函数。
1. 类与对象:在MFC中,类是对象的蓝图,定义了对象的数据(属性或成员变量)和行为(成员函数)。类的访问权限分为public、protected和private,确保了数据封装和安全性。对象是类的具体实例,可以拥有特定的属性值并执行相应的方法。
2. 继承与派生类:继承是OOP的核心,通过基类(如CShape)和派生类(如CRect、CTri和CCircle)的关系,可以复用共享功能并实现代码重用。尽管派生类可能有各自的m_color变量,但它们都隐式继承了基类的公共成员,如setcolor函数。然而,这引发了一个问题:如何在统一的display函数中针对不同类型的形状进行定制操作。文章讨论了将display提升至基类和直接遍历所有形状调用各自方法的优缺点。
3. this指针:解决上述问题的关键是理解this指针,它是一个隐藏的指向调用该成员函数的对象的指针。在setcolor函数中,this指针允许我们在函数内部区分不同的对象实例。例如,在`rect1.setcolor(2)`调用时,实际上是`(CRect*)&rect1`这个this指针被传递给setcolor函数,实现了对不同对象的单独操作。
4. 虚拟函数:虽然文章没有直接提及,但提到的display函数如果被标记为virtual,可以让派生类重写以实现多态性,即让每个形状的display有不同的实现方式,避免了全局循环调用同一函数的问题。
通过这三个奇怪的宏,作者引导读者理解了MFC编程中重要的面向对象原则,并展示了如何在实际项目中应用这些概念。阅读者可以通过参考书籍《深入浅出MFC》和《MFCWindows程序设计》来进一步深化对这些概念的理解。掌握好这些基础知识,对于在MFC环境中进行高效的可视化编程至关重要。
2020-01-02 上传
2021-09-17 上传
2010-03-14 上传
2009-10-31 上传
2024-05-23 上传
2021-04-12 上传
2010-03-14 上传
2010-03-13 上传
Pa1nk1LLeR
- 粉丝: 67
- 资源: 2万+
最新资源
- MATLAB新功能:Multi-frame ViewRGB制作彩色图阴影
- XKCD Substitutions 3-crx插件:创新的网页文字替换工具
- Python实现8位等离子效果开源项目plasma.py解读
- 维护商店移动应用:基于PhoneGap的移动API应用
- Laravel-Admin的Redis Manager扩展使用教程
- Jekyll代理主题使用指南及文件结构解析
- cPanel中PHP多版本插件的安装与配置指南
- 深入探讨React和Typescript在Alias kopio游戏中的应用
- node.js OSC服务器实现:Gibber消息转换技术解析
- 体验最新升级版的mdbootstrap pro 6.1.0组件库
- 超市盘点过机系统实现与delphi应用
- Boogle: 探索 Python 编程的 Boggle 仿制品
- C++实现的Physics2D简易2D物理模拟
- 傅里叶级数在分数阶微分积分计算中的应用与实现
- Windows Phone与PhoneGap应用隔离存储文件访问方法
- iso8601-interval-recurrence:掌握ISO8601日期范围与重复间隔检查