最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++ 虛函數(shù)與純虛函數(shù)代碼詳解

 更新時間:2021年08月13日 14:50:11   作者:胡小牧  
本文主要介紹了C++ 虛函數(shù)與純虛函數(shù)的使用與區(qū)別,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

什么是虛函數(shù):

虛函數(shù) 是在基類中使用關(guān)鍵字 virtual 聲明的函數(shù),在C++ 語言中虛函數(shù)可以繼承,當(dāng)一個成員函數(shù)被聲明為虛函數(shù)之后,其派生類中的同名函數(shù)都自動生成為虛函數(shù),

虛函數(shù)主要體驗C++的多態(tài)方面,(多態(tài)是參數(shù)個數(shù)和類型相同而實現(xiàn)功能不同的函數(shù))

為了更好的里面虛函數(shù)請看下面的demo

#include <iostream>
#include <string>
using namespace std;
class Aname
{
public:
     virtual void function_name()
     {
          cout << "Aname調(diào)用了function_name" << endl;
     }
};
class Bname:public Aname
{
public:
     void function_name()
     {
          cout << "Bname調(diào)用了function_name" << endl;
     }
};
int main()
{
     Aname *a = new Bname();
     a->function_name();
}

這里由于類Aname 里面的function_name 被聲明為虛函數(shù), 所以雖然指針a 指向Aname 卻調(diào)用了

Bname 里面的function_name

打印結(jié)果為

如果類Aname 里面的函數(shù)沒有聲明虛函數(shù), 是調(diào)用A里面的函數(shù)的,

虛函數(shù)的注意事項:

1 只有類的成員函數(shù)才能為虛函數(shù)

2 靜態(tài)成員函數(shù)不能為虛函數(shù),內(nèi)聯(lián)函數(shù)和構(gòu)造函數(shù)不能為虛函數(shù)

存虛函數(shù)

是指被表明為不被具體實現(xiàn)的虛成員函數(shù),它不具備函數(shù)的功能,它在基類中沒有定義,但要求任何派生類都要定義自己的實現(xiàn)方法。在基類中實現(xiàn)純虛函數(shù)的方法是在函數(shù)原型后加"=0"

例如:

virtual void funtion1()=0

demo 認(rèn)識下存虛函數(shù)

#include <iostream>
#include <string>
using namespace std;
class Aname
{
public:
     virtual void function_name() = 0;
};
class Bname : public Aname
{
public:
     void function_name()
     {
          cout << "Bname調(diào)用了function_name" << endl;
     }
};
int main()
{
     Aname *a = new Bname();
     a->function_name();
}

存虛函數(shù)的注意事項:

1 存虛函數(shù)不能被實例化

2 virtual void function_name() = 0; 中 viertual 不能去掉,否則會報錯

總結(jié)

本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

最新評論

武陟县| 舒兰市| 乐山市| 丰都县| 长春市| 浮山县| 玉溪市| 广安市| 桓台县| 金川县| 德安县| 浦县| 琼结县| 依兰县| 邵阳市| 晴隆县| 河北区| 兴和县| 文安县| 峡江县| 略阳县| 博湖县| 伊宁市| 台江县| 浠水县| 潮安县| 安岳县| 雷州市| 岳西县| 山阴县| 武汉市| 广饶县| 邯郸市| 华亭县| 巫溪县| 浙江省| 泌阳县| 卢湾区| 苏尼特左旗| 黎平县| 邵阳市|