C++ Primer(第5版) 练习 19.10
 
练习 19.10 已知存在如下的类继承体系,其中每个类定义了一个默认公有的构造函数和一个虚析构函数。下面的语句将打印哪些类型名字?
 
class A {  };
class B: public A {  };
class C: public B {  };
( a ) A *pa = new C;
	  cout<<typeid(pa).name()<<endl;
( b ) C cobj;
	  A& ra = cobj;
	  cout<<typeid(&ra).name()<<endl;
( c ) B *px = new B;
	  A& ra = *px;
	  cout<<typeid(ra).name()<<endl;
 
环境:Linux Ubuntu(云服务器)
 
工具:vim
 
 
 
代码块
 
class A {  };
class B: public A {  };
class C: public B {  };
( a ) A *pa = new C;
	  cout<<typeid(pa).name()<<endl;
( b ) C cobj;
	  A& ra = cobj;
	  cout<<typeid(&ra).name()<<endl;
( c ) B *px = new B;
	  A& ra = *px;
	  cout<<typeid(ra).name()<<endl;