C++|多態(tài)與虛函數

虛函數

  • 虛函數聲明只能出現在類定義中的函數原型聲明中
    不能在成員函數實現的時候

  • 運行過程中多態(tài)滿足三條件
    一澄耍、賦值兼容規(guī)則
    二秧耗、聲明虛函數
    三、有成員函數來調用或者通過指針绸硕、引用來訪問虛函數

#include<iostream>

using namespace std;
class Vehicle {
    public:
        virtual void Run() const;   //虛函數
        virtual void Stop() const;
};

void Vehicle::Run() const {
    cout<<"Vehicle Run"<<endl;
}

void Vehicle::Stop() const {
    cout<<"Vehicle Stop"<<endl;
}

class Bicycle:public Vehicle {
    public:
        void Run() const;   //覆蓋基類虛函數
        void Stop() const;
};

void Bicycle::Run() const {
    cout<<"Bicycle Run"<<endl;
}
void Bicycle::Stop() const {
    cout<<"Bicycle Stop"<<endl;
}

class Motorcar:public Vehicle {
    public:
        void Run() const;   //覆蓋基類虛函數
        void Stop() const;

};

void Motorcar::Run() const {
    cout<<"Motorcar Run"<<endl;
}
void Motorcar::Stop() const {
    cout<<"Motorcar Stop"<<endl;
}

void fun(Vehicle *ptr){
    ptr->Run();
    ptr->Stop();
}
#include<iostream>
#include "Vehicle.h"
using namespace std;

int main(){
    Vehicle V1;
    Vehicle V2;
    Bicycle B1;
    Motorcar M1;
    
    fun(&V1);
    fun(&V2);
    fun(&B1);
    fun(&M1); 
}
image.png
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末羞芍,一起剝皮案震驚了整個濱河市哗戈,隨后出現的幾起案子,更是在濱河造成了極大的恐慌涩金,老刑警劉巖谱醇,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件暇仲,死亡現場離奇詭異步做,居然都是意外死亡,警方通過查閱死者的電腦和手機奈附,發(fā)現死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進店門全度,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人斥滤,你說我怎么就攤上這事将鸵。” “怎么了佑颇?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵顶掉,是天一觀的道長。 經常有香客問我挑胸,道長痒筒,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任茬贵,我火速辦了婚禮簿透,結果婚禮上,老公的妹妹穿的比我還像新娘解藻。我一直安慰自己老充,他們只是感情好,可當我...
    茶點故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布螟左。 她就那樣靜靜地躺著啡浊,像睡著了一般。 火紅的嫁衣襯著肌膚如雪胶背。 梳的紋絲不亂的頭發(fā)上巷嚣,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天,我揣著相機與錄音奄妨,去河邊找鬼涂籽。 笑死,一個胖子當著我的面吹牛砸抛,可吹牛的內容都是我干的评雌。 我是一名探鬼主播树枫,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼景东!你這毒婦竟也來了砂轻?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤斤吐,失蹤者是張志新(化名)和其女友劉穎搔涝,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體和措,經...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡庄呈,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了派阱。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片诬留。...
    茶點故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖贫母,靈堂內的尸體忽然破棺而出文兑,到底是詐尸還是另有隱情,我是刑警寧澤腺劣,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布绿贞,位于F島的核電站,受9級特大地震影響橘原,放射性物質發(fā)生泄漏籍铁。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一靠柑、第九天 我趴在偏房一處隱蔽的房頂上張望寨辩。 院中可真熱鬧,春花似錦歼冰、人聲如沸靡狞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽甸怕。三九已至,卻和暖如春腮恩,著一層夾襖步出監(jiān)牢的瞬間梢杭,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工秸滴, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留武契,地道東北人。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像咒唆,于是被迫代替她去往敵國和親届垫。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,724評論 2 351

推薦閱讀更多精彩內容

  • 虛函數 在類的定義中全释,前面有 virtural 關鍵字的成員函數被稱為虛函數装处。 virtual 關鍵字只用在類定義...
    Mitchell閱讀 593評論 0 2
  • 重新系統(tǒng)學習下C++;但是還是少了好多知識點浸船;socket妄迁;unix;stl李命;boost等登淘; C++ 教程 | 菜...
    kakukeme閱讀 19,833評論 0 50
  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy閱讀 9,513評論 1 51
  • 收集非原創(chuàng)文章,如遇原作者项戴,請私聊我形帮,我會表明出處! 1--10 1. C++中什么數據分配在椫芏#或堆,靜態(tài)存儲區(qū)以...
    Juinjonn閱讀 4,939評論 0 30
  • 1.在C++ 程序中調用被C 編譯器編譯后的函數界斜,為什么要加extern “C”仿耽? 答:首先,extern是C/C...
    曾令偉閱讀 919評論 0 4