微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > C++子类覆盖基类及virtual虚拟处理

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

}


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top