Entering function main. Entering ctor Animal <>. Entering ctor Dog <>. Entering ctor Animal <>. Entering ctor Cat <>. Entering ctor Animal <>. Entering ctor Snake <>. Entering method Animal::set_name <>. Entering method Animal::set_name <>. Entering ctor Owner <>. Entering ctor Owner <>. Entering method Owner::set_name <>. Entering method Animal::set_owner <>. Entering method Animal::set_owner <>. dog= Dog { Animal { name= "Fido" owner: Owner { name= "John" }; // End of Owner }; // End of Animal }; // End of Dog Entering method Dog::talk. woofffffff... woofffffff... woofffffff... cat= Cat { Animal { name= "Felix" owner: Owner { name= "Jenna" }; // End of Owner }; // End of Animal }; // End of Cat Entering method Cat::talk. miowwwwwww... miowwwwwww... snake= Snake { Animal { name= "Ka" owner is NULL }; // End of Animal }; // End of Snake Entering method Snake::talk. hisssssss... owner 1 = Owner { name= "John" }; // End of Owner owner 2 = Owner { name= "Jenna" }; // End of Owner Entering dtor ~Owner <>. Entering dtor ~Owner <>. Entering dtor ~Snake <>. Entering dtor ~Animal <>. Entering dtor ~Cat <>. Entering dtor ~Animal <>. Entering dtor ~Dog <>. Entering dtor ~Animal <>.