#include#include#includeusing namespace std;
class person//虛基類的作用避免重複繼承基類中的元素 ,針對一堆多對一的繼承結構
protected:
string name;
char ***;
int age;
};class teacher:virtual public person
//只要寫出新增加的資料即可
protected:
string title;
};class student:virtual public person
protected:
float score;
};class graduate:public teacher,public student
void show()
private:
float wage;
};int main()
//三種繼承方式,相同點:派生類成員函式可以訪問基類中的public和protected部分,不同點:只有公共繼承派生類物件可以訪問基類中 public部分,其他繼承方式派生類物件都不可以 訪問任何部分
虛基類 虛函式和純虛基類
首先看乙個例子 class base class child1 public base class child2 public base void main else p print 函式呼叫的時候,檢視虛表,根據p的位址首先從虛表裡面查詢要呼叫的函式 這裡呼叫child2的print 函式 ret...
C 的虛基類
虛基類 當在多條繼承路徑上有乙個公共的基類,在這些路徑中的某幾條匯合處,這個公共的基類就會產生多個例項 或多個副本 若只想儲存這個基類的乙個例項,可以將這個公共基類說明為 虛基類 虛基類.在繼承中產生歧義的原因有可能基類是繼承類繼承了基類多次,從而產生了多個拷貝,即不止一次的通過多個路徑繼承類在記憶...
虛基類的用法
1 include 2 3using namespace std 45 classa6 11void show const 1215 a 16 17class b virtual public a 定義虛基類的用法 18 子類建構函式必須使用初始化列表 初始化列表在時間效能上比函式體內賦值更有優勢,...