龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

C++:虚函数与抽象类

时间:2009-12-22 15:42来源:未知 作者:admin 点击:
分享到:
1.虚函数 1.1虚函数的作用 虚函数的作用是允许在派生类中重新定义与基类同名的函数,并且可以通过基类指针或引用来访问基类和派生类中的同名函数。 class Time{ public: Time(int=0,int=0,

  1.虚函数

  1.1虚函数的作用

  虚函数的作用是允许在派生类中重新定义与基类同名的函数,并且可以通过基类指针或引用来访问基类和派生类中的同名函数。

class Time{

 public:

  Time(int=0,int=0,int=0);

  void show();

 protected:

  int hour;

  int min;

  int sec;

};

class LocalTime:public Time{

 public:

  LocalTime(int=0,int=0,int=0,string="+8");

  void show();

 protected:

  string zone;

};

Time::Time(int h,int m,int s):hour(h),min(m),sec(s){}

void Time::show(){

 cout<

}

LocalTime::LocalTime(int h,int m,int s,string z):Time(h,m,s),zone(z){}

void LocalTime::show(){

 cout<

}

int main(){

 Time t;

 LocalTime lt;

 Time *pt=&t;

 pt->show();

 pt=<

 pt->show();

 system("PAUSE");

 return EXIT_SUCCESS;

}

  结果:

0:0:0

0:0:0

这里通过指针找到派生类,但无法调用派生类show()。如果使用虚函数。

  将基类Time中的show()函数声明为虚函数, 其余不变。

class Time{

 public:

  Time(int=0,int=0,int=0);

  virtual void show();

};

精彩图集

赞助商链接