C++虛函數、純虛函數

class Parent {
private:
    int i;
public:
    void show();
};

void Parent::show() {
    cout<< "parent" << endl;
}
class Child : public Parent{
private:
    int i;
public:
    void show();
};

void Child::show() {
    cout<<"child"<<endl;
}

main函數

// 靜態多態 編譯的時候確定的類型 由於聲明的是Parent類型,所以編譯的時候就會將其認定爲parent類型
Parent* child = new Child();
child->show(); // 打印結果  Parent
virtual void show(); // 聲明爲虛函數

// 動態多態 使用虛函數
// 構造函數不要設置爲虛函數
// 析構函數一般設置爲虛函數
Parent* child = new Child();
child->show(); // 打印結果 Child

純虛函數

virtual void show1() = 0; // 純虛函數 子類必須實現 相當於JAVA的abstract方法
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章