C++子类覆盖基类及virtual虚拟处理
时间:12-01
来源:互联网
点击:
#include
class animal
{
public:
animal()
{
cout<"animal construct" } ~animal() { cout<"construct animal" } virtual void breath() //virtual定义虚函数 { cout<"bubble2" } }; class fish:public animal //只调用animal中的animal() { public: fish() { // cout<"hello world" } ~fish() { // cout<"construct helllo world" } void breath() { //animal::breath(); //cout<"fish bubble" } }; void fn(animal *pan) { pan->breath(); } void main() { fish fh; //st.breath ();//如果子类和基类有两个同名函数,则最后用子类覆盖基类,这叫重载。 animal *pan; pan=&fh; //改变指针,把animal的指针用fish替换了。但是还是输出animal。若在animal前加virtual虚拟,则输出fish fn(pan); }
C++子类覆盖基类virtual虚拟处 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)