C++中实现RTTI中的问题...

来源:百度知道 编辑:UC知道 时间:2024/06/03 04:21:24
在看侯俊杰老师的<<深入浅出MFC>>时...我有点疑惑...
#define DECLARE_DYNAMIC(class_name) \
public: \
static CRuntimeClass class##class_name; \
virtual CRuntimeClass* GetRuntimeClass() const;
想问一下...为什么要定义CRuntimeClass的对象为静态...RTTI中的...
我初步估计是因为之前说过静态变量的定义是比main函数更早地被执行的...不知道是不是这原因...如果有看过这书的朋友...希望能帮帮忙...

静态的变量是类级的变量,由所有实例共享,只要某个类生成的对象调用GetRuntimeClass返回的都是同一份CRutimeClass对象的地址。

静态的是所有对象共享的,是属于类的,不是对象的,节省空间。