正在加载图片...
虚函数 Clock DigitalClock d1; virtual Alarm() AnalogClock a1; Clock *p1=&d1; p1->Alarm(); p1=&a1; AnalogClock DigitalClock p1->Alarm(); Alarm() Alarm() virtual <type>FuncName(<ArgList>); 调用AnalogClock类和 通过基类指针调用派生类函数 DigitalClock类中Alarm0 for (int i=0;i<n;i++) p[i]->Alarm(; 国上清夫道大些 730 虚函数 class Clock public: Clock() virtual void Alarm()cout<<"Clock Alarm!"<<endl; :声明为虚函数 class DigitalClock:public Clock 继承 publie: DigitalClock() void Alarm()(cout<<"Digital Alarm!"<<endl;) 派生类定义 void main(void) {Clock*pCIock=-NULL,∥基类指针,可以将派生类对象的地址赋给基类指 DigitalClock d cl: pClock=&d cl; 调用虚函数 用基类指针调用派生类函数 pClock->Alarm O; 输出:DigitalAlarm! Alarm(声明为虚函数,使派生类与基类的Alarm0函数有一个统一的接口 44 7/30 虚函数 Clock virtual Alarm() AnalogClock Alarm() DigitalClock Alarm() 调 用 AnalogClock 类 和 DigitalClock类中Alarm() DigitalClock d1; AnalogClock a1; Clock *p1=&d1; p1->Alarm(); p1=&a1; p1->Alarm(); virtual <type> FuncName(<ArgList>); 通过基类指针调用派生类函数 for (int i=0; i<n; i++) p[i]->Alarm(); 8/30 虚函数 class Clock {public: Clock(){} }; class DigitalClock: public Clock {public: DigitalClock(){} void Alarm( ){cout<<“Digital Alarm!”<<endl;} }; void main(void) { Clock *pClock=NULL; //基类指针,可以将派生类对象的地址赋给基类指针 DigitalClock d_cl; pClock=&d_cl; pClock->Alarm (); } 派生类定义 调用虚函数 Alarm()声明为虚函数,使派生类与基类的Alarm ()函数有一个统一的接口 virtual void Alarm( ){cout<<“Clock Alarm!”<<endl;} //声明为虚函数 继承 输出:DigitalAlarm! 用基类指针调用派生类函数
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有