最近在学C++和MFC。尽管语法学了不少,但似乎在理解“面向对象”的思想时仍然感到茫然。用个具体的例子来说吧!比如我想做一个类似于“写字板”(不是“记事本”)那样的软件,记事板是可以设置不同的字体、字号和颜色的,那么我是不是应该创建一个“字”对象?每个字对象包括该字的内码、字体、字号、颜色等属性?是不是还应该设一个“段落”对象?那么段落对象和字对象是什么关系呢?我们知道,实际情况是:一个段落包含很多字,但这并不是继承的关系。而且是包含关系。那么是不是这样:一个段落对象里面,有描述整个段落的属性比如字间距、行间距等等,同时也包含很多字对象。但是问题来了,一个段落的字数可能是变化的,如何动态地改变一个段落对象中字对象的数量?也许,字对象和段落对象都可以有“显示”这样一个行为,是吗?段落的显示由一个个字对象的显示组成,但是每个字对象显示的具体位置又如何处理?很复杂很复杂,如果是面向过程的C语言,这些问题都好解决。靠程序员的技巧就是了,各人的处理方法可能不同。但都是可以达到目的的,但面向对象,好象就困惑了。
解决方案 »
- CPropertysheet属性页支持拖放操作
- 如何在程序启动后立刻打开一个文件?初学者的提问
- 如何动态改变CListBox的单选和多选状态?
- 谁能解释BYTE szRes[10];short int& nW=szRes[6]|(szRes[7]<<8);这两句?
- 资源中IDW_XXXX是什么东西,怎么定义?
- 有没有知道如何利用VC程序修改本地IP啊,有没有API函数可用。
- 请问:VC++与C++的区别以及各自的好处?
- 求助
- 快来呀!关于SPL..,我能给出我能给的最多分了
- 哪有完整的Seagate Crystal Report 8.0(Developr Edition 180M)下载,或刻成光碟给我(我付费)。
- DataGrid
- CRichEditCtrl::SetSel函数
vector<font>