fork download
  1. #include <iostream>
  2.  
  3. class object {
  4. public:
  5. virtual ~object() {}
  6. };
  7.  
  8. class A : public object {
  9. };
  10.  
  11. class B : public object {
  12. };
  13.  
  14. class C : public A, public B {
  15. };
  16.  
  17. int main() {
  18. A *a = new A();
  19. A *c = new C();
  20. B *b1 = dynamic_cast<B*>(a); // так все-таки можно
  21. B *b2 = dynamic_cast<B*>(c); // и оно даже имеет смысл
  22. std::cout << b1 << " " << b2 << std::endl;
  23. return 0;
  24. }
  25.  
Success #stdin #stdout 0.02s 2812KB
stdin
Standard input is empty
stdout
0 0x9d2d01c