欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

C++子類覆蓋基類及virtual虛擬處理

作者:黃波海   來源:本站原創   點擊數:  更新時間:2014年03月07日   【字體:

#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);
}

關閉窗口

相關文章