學生類,派生出文科生類和理科生類,它們繼承了學生類的一些基本資訊如姓名、學號、性別,又有著自身的成員,比如說文科類有政治、歷史地理科目、理科類有化學、物理、生物科目。在錄入學生資訊時既要錄入他們的基本資訊,又要錄入他們各科的成績,所以就派生出文科類和理科類,同時對派生出來的類中的一些函式進行覆蓋
#include
#include
using
namespace
std;
class stud
virtual
void input()
virtual~stud()
};list
g_list;
class sciencestud : public stud
void print() const override
private:
float fchemistry;
float fphysics;
float fbiology;
} ;class liberalstud : public stud
void print() const override //override 派生類函式與基類函式名和引數都相同
private:
float fpolitics;
float fhistory;
float fgeography;
};void input()
if(p)
g_list.push_back(p);
}void print() }
int menu()
return i;
} int main()
虛函式,虛繼承與虛函式表
c 實現多型機制 模板技術,rtti 技術,虛函式技術,要麼是試圖做到在編譯時決議,要麼試圖做到執行時決議 虛函式 帶有 關鍵字的函式,並且不帶有 標誌的 虛繼承帶有 關鍵字的繼承,基類被稱為虛基類,會在自己物件的例項中產生虛基類指標 虛函式與菱形繼承的問題 當發生繼承時,如果派生類重寫了基類的虛函...
虛繼承與虛函式表
一 虛繼承 1 include iostream using namespace std class bvoid fb class d1 virtual public bvoid fd1 class d2 virtual public bvirtual void vd2 void fd2 class...
虛函式與多繼承
問題 假設有兩個基類a和b,它們有乙個相同簽名的虛函式void foo 但是擁有不同的實現。現在要求建立乙個新類c,它同時繼承a和b,也有相同的簽名的函式void foo 並能分別對a和b中的foo函式進行重寫 overwrite 已知條件對應的 如下 include using namespace...