class A //base class class B //interface class C : public A,public B
然后创建C对象:
A *object = new C();
有可能将对象投射到B吗?
重要:我假设我不知道该对象是C.我只知道它实现了接口B
因为A和B的地址在C类的不同位置.所以演员总是不安全的,也可能会出现意外的行为. Demo.
铸件应该总是通过C类.
A* pa = new C(); B* pb = static_cast<C*>(pa); ^^^^ go through class C
Demo