fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. class A
  5. {
  6. public:
  7. A() { cout << "consta" << endl; }
  8. A(const A& aa) { cout << "copyconsta" << endl; }
  9. virtual void foo() { cout << "A" << endl; }
  10. };
  11.  
  12. class B : public A
  13. {
  14. public:
  15. B() { cout << "constb" << endl; }
  16. B(const B& bb) { cout << "copyconstb" << endl; }
  17. virtual void foo() { cout << "B" << endl; }
  18. };
  19.  
  20. int main() {
  21. A a;
  22. B b;
  23. a.foo();
  24. b.foo();
  25.  
  26. ((A)b).foo();
  27.  
  28. return 0;
  29. }
Success #stdin #stdout 0s 3456KB
stdin
Standard input is empty
stdout
consta
consta
constb
A
B
copyconsta
A