这样的结构体有几十个,变成类后,虚函数的行为完全一样,最理想的使用多态的场景。代码调用简洁太多了。
但是有几个结构有些变量不一致,如果基类指针能够直接访问这些变量,代码有会简洁很多。 downcast我没有成功,现在已处理好了,派生类指针强制转换就能搞定,但是不够完美。
你搞了10年C++没用过多态还是很有些缺点什么的,我见过很多人用C++其实还是C的写法,不奇怪
获得这些结构体
【 在 hongdiao (hongdiao) 的大作中提到: 】
: 搞C++10年了,从没自己写过虚基类,或者做过基于虚基类的设计,应该很常见吧。 这玩意知道就行了,用起来真是得好好考虑是不是真的场景契合。 记得有本书就说过,基于虚拟继承的好设计几乎都是由一个人在一个特定模块内完成。
: 不过LZ的这个例子也不是虚基类啊。 A,B完全不同,在运行时又要得到不同的行为,用函数重载不是更好吗? 高级一点的话就是相同的逻辑放在模板,模板内再通过函数重载实现差异化处理。
--
FROM 211.103.207.*