派生类和基类的转换

指针引用分四种情况:

  1.直接用基类指针引用基类对象

  2.直接用派生指针引用派生对象

  3.由基类指针引用派生类对象,由于派生类也是基类对象(包含关系),所以这种引用是安全的。但是只能引用基类成员,若试图通过基类指针引用那些只在派生类中才有的成员,编译器会报告语法错误。(解决该问题的答案是虚函数和多态性)

  4.用派生类指针引用基类对象,这种方式会导致编译器报错。必须先把派生类指针强制转换成基类指针。

如果基类和派生类都定义了同名函数,通过对象指针调用成员函数时,到底调用哪里的函数由指针的原始类型决定,而不是由指针实际指向的对象类型决定。

 

 

posted @ 2017-03-09 22:09  SO_N_Y  阅读(460)  评论(0编辑  收藏  举报