久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > C++子類覆蓋基類及virtual虛擬處理

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

作者: 時間:2016-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);
}



評論


技術專區

關閉