MFC可视化编程:继承与this指针在形状类中的应用
需积分: 50 51 浏览量
更新于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环境中进行高效的可视化编程至关重要。
2024-09-11 上传
2024-09-11 上传
2024-09-11 上传
2024-09-11 上传
2024-09-11 上传
2024-09-11 上传
2024-09-11 上传
![](https://profile-avatar.csdnimg.cn/85d7ccf9d44f4c99bcd94421e5c4a9af_weixin_42203796.jpg!1)
Pa1nk1LLeR
- 粉丝: 59
- 资源: 2万+
最新资源
- 解决Eclipse配置与导入Java工程常见问题
- 真空发生器:工作原理与抽吸性能分析
- 爱立信RBS6201开站流程详解
- 电脑开机声音解析:故障诊断指南
- JAVA实现贪吃蛇游戏
- 模糊神经网络实现与自学习能力探索
- PID型模糊神经网络控制器设计与学习算法
- 模糊神经网络在自适应PID控制器中的应用
- C++实现的学生成绩管理系统设计
- 802.1D STP 实现与优化:二层交换机中的生成树协议
- 解决Windows无法完成SD卡格式化的九种方法
- 软件测试方法:Beta与Alpha测试详解
- 软件测试周期详解:从需求分析到维护测试
- CMMI模型详解:软件企业能力提升的关键
- 移动Web开发框架选择:jQueryMobile、jQTouch、SenchaTouch对比
- Java程序设计试题与复习指南