亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

什么是虛函數(shù):

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

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

為了更好的里面虛函數(shù)請(qǐng)看下面的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ù)的注意事項(xiàng):

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

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

存虛函數(shù)

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

例如:

virtual void funtion1()=0

demo 認(rèn)識(shí)下存虛函數(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ù)的注意事項(xiàng):

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

2 virtual void function_name() = 0; 中 viertual 不能去掉,否則會(huì)報(bào)錯(cuò)

總結(jié)

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

相關(guān)文章

  • Java 深入探究講解工廠方法模式

    Java 深入探究講解工廠方法模式

    工廠方法模式(FACTORY METHOD)是一種常用的類創(chuàng)建型設(shè)計(jì)模式,此模式的核心精神是封裝類中變化的部分,提取其中個(gè)性化善變的部分為獨(dú)立類,通過依賴注入以達(dá)到解耦、復(fù)用和方便后期維護(hù)拓展的目的。它的核心結(jié)構(gòu)有四個(gè)角色,分別是抽象工廠、具體工廠、抽象產(chǎn)品、具體產(chǎn)品
    2022-04-04
  • Mybatis高級(jí)映射、動(dòng)態(tài)SQL及獲得自增主鍵的解析

    Mybatis高級(jí)映射、動(dòng)態(tài)SQL及獲得自增主鍵的解析

    MyBatis 本是apache的一個(gè)開源項(xiàng)目iBatis, 2010年這個(gè)項(xiàng)目由apache software foundation 遷移到了google code,并且改名為MyBatis。這篇文章主要介紹了Mybatis高級(jí)映射、動(dòng)態(tài)SQL及獲得自增主鍵的相關(guān)資料,需要的朋友可以參考下
    2016-11-11
  • Javassist如何操作Java 字節(jié)碼

    Javassist如何操作Java 字節(jié)碼

    這篇文章主要介紹了Javassist如何操作Java 字節(jié)碼,幫助大家更好的理解和學(xué)習(xí)Java,感興趣的朋友可以了解下
    2020-09-09
  • JAXB命名空間及前綴_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    JAXB命名空間及前綴_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要給大家介紹了關(guān)于JAXB命名空間及前綴的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-08-08
  • SpringSecurity實(shí)現(xiàn)權(quán)限認(rèn)證與授權(quán)的使用示例

    SpringSecurity實(shí)現(xiàn)權(quán)限認(rèn)證與授權(quán)的使用示例

    本文主要介紹了SpringSecurity實(shí)現(xiàn)權(quán)限認(rèn)證與授權(quán)的使用示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-11-11
  • Spring Boot 中的 @Field 注解的原理解析

    Spring Boot 中的 @Field 注解的原理解析

    本文詳細(xì)介紹了 Spring Boot 中的 @Field 注解的原理和使用方法,通過使用 @Field 注解,我們可以將 HTTP 請(qǐng)求中的參數(shù)值自動(dòng)綁定到 Java 對(duì)象的屬性上,簡化了開發(fā)過程,提高了開發(fā)效率,感興趣的朋友跟隨小編一起看看吧
    2023-07-07
  • 關(guān)于Java?中?Future?的?get?方法超時(shí)問題

    關(guān)于Java?中?Future?的?get?方法超時(shí)問題

    這篇文章主要介紹了Java?中?Future?的?get?方法超時(shí),最常見的理解就是,“超時(shí)以后,當(dāng)前線程繼續(xù)執(zhí)行,線程池里的對(duì)應(yīng)線程中斷”,真的是這樣嗎?本文給大家詳細(xì)介紹,需要的朋友參考下吧
    2022-06-06
  • Docker使用Dockerfile自定義鏡像方式

    Docker使用Dockerfile自定義鏡像方式

    這篇文章主要介紹了Docker使用Dockerfile自定義鏡像方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Springboot使用Maven占位符@替換不生效問題及解決

    Springboot使用Maven占位符@替換不生效問題及解決

    這篇文章主要介紹了Springboot使用Maven占位符@替換不生效問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Maven 配置文件 生命周期 常用命令詳解

    Maven 配置文件 生命周期 常用命令詳解

    Maven是圍繞著構(gòu)建生命周期的核心概念為原型,整個(gè)項(xiàng)目的創(chuàng)建和部署都是圍繞著生命周期展開的,一個(gè)生命周期由若干個(gè)生命周期階段組成。下面通過本文給大家介紹Maven 配置文件 生命周期 常用命令詳解,一起看看吧
    2017-11-11

最新評(píng)論