在C++的开发过程中总会碰到一些类(baseclass)需要被继承,并且这些子类(subclass)会被其它的模块(module)所使用。为了在使用到这些子类的模块中区分使用到的子类是不是指定的某个子类,通常都是给每个子类指定一个名字,通过名字匹配,但这样子名字是存在重名的可能性的。下面是我自己写的一套宏用来做这么的一件事:给每个子类分配一个ID。
使用方法如下:
baseclass.h
baseclass.cpp
subclass.h
subclass.cpp
判断子类是否属于某一类型如下: