我想有具有恒定字段(如与不能编译时间之后修改的类相关联的唯一ID)的基类。 到目前为止, static const
声明会就好了。 现在,我想继承这个基类,并确保这一类的孩子们有相同的领域,但与自己的价值观。 我怎样才能做到这一点?
比方说,我想有一个叫做基类Base
与ID
保存现场int
0值。然后,我想有类A
, B
和C
,它们都是公共的孩子Base
我想,以确保这些孩子本来也有ID
为1,2和3(相应值的字段由“确保”,我的意思是这样得到一个编译错误,如果他们没有一个ID显式声明)。
如果我能设法建立这种情况下,我的预期是该请求的ID
一的领域Base*
指针,我应该得到取决于指针是否为创造不同的价值new A()
new B()
或new C()
。
我的猜测是申报ID
为virtual static const
,这当然是没有意义的,并给出一个编译错误。
但后来我能做些什么来实现所描述的结果呢? (我能想象的唯一的事情是将申报ID
为虚函数返回一个整数,然后硬编码值到函数体,但我正在寻找的东西更优雅。)
先感谢您!