Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- struct A {
- int c = -1;
- virtual ~A() {}
- };
- struct B : A {int aa = 0;};
- const A& getA(){
- std::unique_ptr<A> ap(new B);
- return *ap;
- }
- int main()
- {
- const A& a = getA();
- A acopy = a;
- acopy.c = -2;
- A& acopyr = acopy;
- std::cout << a.c << std::endl;
- try{
- B& b = dynamic_cast<B&>(acopyr);
- std::cout << b.aa << std::endl;
- }catch(std::bad_cast b){
- std::cout << "bad" << std::endl;
- }
- }
- -1
- bad
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement