写代码时,不小心将一个子类的以private的方式继承了一个抽象父类。使用的时候,实例化了这个子类的一个对象,但是无法通过dynamic_cast安全的转化为父类的对象来使用,如下:
这里TcpWorker以private的方式继承ITcpImpl实际上是个手误,本意是class TcpWorker: public IWorker, public ITcpImpl 的。
当将private继承方式改成public时,断言就成功了。
写代码时,不小心将一个子类的以private的方式继承了一个抽象父类。使用的时候,实例化了这个子类的一个对象,但是无法通过dynamic_cast安全的转化为父类的对象来使用,如下:
这里TcpWorker以private的方式继承ITcpImpl实际上是个手误,本意是class TcpWorker: public IWorker, public ITcpImpl 的。
当将private继承方式改成public时,断言就成功了。