正在加载图片...
例1:虚成员函数 L53A08 class vehicle{引用基类对象,调引用派生类对象,调 public: 基类成员函数用派生类成员函数 vir tual void Ariveo I cout < "dive a generic vehicle < end1; 1 class car: plblic vehicle 指向基类对象,调 public: 用基类成员函数 vir tual hoid dr ive o scout < ve a car"<< end1 void f(vehicle v)/ydr ive; J void g(vehicle yy pv->drive O void mino( 指向派生类对象,调 结论: 基类指针指向不同派生类的对象,基类引用引用不同派 生类的对象时,执行的是相应派生类中的虚函数21:53:08 例1:虚成员函数 class vehicle{ public: vir tual void drive() { cout << "drive a generic vehicle" << endl;} }; class car :public vehicle{ public: vir tual void drive(){cout <<"drive a car"<< endl;} }; void f(vehicle & v){ v.drive(); } void g(vehicle * pV){ pV->drive(); } void main(){ vehicle vh; car c; f(vh); f(c); //分别调用哪一个类中的drive()? g(&vh); g(&c); //分别调用哪一个类中的drive()? } 引用基类对象,调 用基类成员函数 引用派生类对象,调 用派生类成员函数 指向基类对象,调 用基类成员函数 指向派生类对象,调 用派生类成员函数 结论: 基类指针指向不同派生类的对象,基类引用引用不同派 生类的对象时,执行的是相应派生类中的虚函数
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有