警惕宏内部修改类修饰符
用MFC,很常用的一个宏是DECLARE_MESSAGE_MAP,在很多代码里面都会有的,一般是系统自动生成放在类的最后面,或者是修饰符的前面。比如下面:
注意它是放在了public的前面!但是如果出现了这样的结构,就会大出问题:
那这个GetOrder就不是public的函数了,而是protected的类型了!原因在于:
在最后面,为了不破坏封状性,更改了类的修饰符。这一点,在MSDN里面有提到的,而且是粗体。但是,这种做法总是不太好,不直观。
当然,Visual C++的编译器对标准的C++支持的比较好,所以不能采用一些通融的做法,不得不用这样的手段来进行封装,也是属于为了标准而付出的代价了。但是以前听人说VCL(Delphi的库)的封装要比MFC高一个层次,看来不假啊!
标签集合/Tag clouds
C++
Symbain
轻松汇编
算法
论文学习
资治通鉴
Delphi
编程之美
Poco
MFC
Linux
IFC
知乎
汇编
数据分析
交叉编译
poco
j2me
android
XML
Java
DTD
飞信
零宽断言
诺基亚
联系人
编程
真值表
池西木
正则表达式
多线程
命令行
优化
stream
configure
cmake
VIM
UiAutomator
TDD
Symbian
Sqlite
SourceInsight
Python
MPAndroidChart
Kotlin
Flutter
Dokka
Chatgpt