资讯详情

C++子类覆盖基类及virtual虚拟处理

#include<iostream.h> class animal { public: animal() { cout<<"animal construct"<<endl; } ~animal() { cout<<"construct animal"<<endl; } virtual void breath() //virtual定义虚函数 { cout<<"bubble2"<<endl; } }; class fish:public animal //只调用animal中的animal() { public: fish() { // cout<<"hello world"<<endl; } ~fish() { // cout<<"construct helllo world"<<endl; } void breath() { //animal::breath(); //cout<<"fish bubble"<<endl; } }; void fn(animal *pan) { pan->breath(); } void main() { fish fh; //st.breath ();//如果子类和基类有两个同名函数,则最后用子类覆盖基类,这叫重载。 animal *pan; pan=&fh; //改变指针,把animal的指针用fish替换了。但是还是输出animal。若在animal前加virtual虚拟,则输出fish fn(pan); }

-电子元器件采购网(www.ruidan.com)是本土元器件目录分销商,采用“小批量、现货、样品”销售模式,致力于满足客户多型号、高质量、快速交付的采购需求。 自建高效智能仓储,拥有自营库存超过50,000种,提供一站式正品现货采购、个性化解决方案、选型替代等多元化服务。
锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台