Advertisement
Guest User

Untitled

a guest
May 24th, 2016
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.42 KB | None | 0 0
  1. struct A {
  2. int c = -1;
  3. virtual ~A() {}
  4. };
  5.  
  6. struct B : A {int aa = 0;};
  7.  
  8. const A& getA(){
  9. std::unique_ptr<A> ap(new B);
  10. return *ap;
  11. }
  12.  
  13.  
  14. int main()
  15. {
  16. const A& a = getA();
  17. A acopy = a;
  18. acopy.c = -2;
  19. A& acopyr = acopy;
  20. std::cout << a.c << std::endl;
  21. try{
  22. B& b = dynamic_cast<B&>(acopyr);
  23. std::cout << b.aa << std::endl;
  24. }catch(std::bad_cast b){
  25. std::cout << "bad" << std::endl;
  26. }
  27. }
  28.  
  29. -1
  30. bad
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement