标签:技术 派生类 基类 public 基类指针 col color 转型 指针
在类的继承当中,如果派生类继承自父类。
1 class A{ 2 public: 3 computePay(); 4 } 5 6 class B:public A 7 { 8 public: 9 computePay(); 10 } 11 B b1; 12 A a1; 13 b1.A::computePay(); 14 b1.computePay();
但假如使用了指针指向一个类。
1 A *p; 2 B *b; 3 B b1; 4 p = &b1; 5 b = &b1; 6 p->computePay(); //调用的是 A的函数 7 b->computePay(); //调用的是B的函数
到底调用哪个函数,视指针的原始类型而定。
由此可以得出三个结论:
一、以基类指针指向衍生类对象,由该指针只能调用基类所定义的函数
二、如果以衍生类指针指向一个基类对象,要先做显示的转型动作(不建议使用)
三、基类和衍生类都定义了相同名称的成员函数,透过对象指针调用成员函数时,视指针的原型而定。
标签:技术 派生类 基类 public 基类指针 col color 转型 指针
原文地址:https://www.cnblogs.com/bohat/p/9221330.html