#include
#include
using
namespace
std;
//定義個test類
class test
//test成員函式,用來獲取資料
char *getid(void)
};//定義個father類
class father
;//father類的show()函式
void father::show(void)
//father的建構函式,在建構函式後面加上冒號「:」,以及成員資料的名字,
//用了在建構函式中為資料成員id類的建構函式傳引數(char *i)
father::father(const
char *n,const
char *i):id(i)
void father::setname(const
char *buf)
char *father::getname(void)
//子類child 公有繼承(public)father類
//即包含father類的所有資訊,但不能訪問father類的私有成員
//只能訪問father類的公有成員和保護成員(protected)
class child:public father
;//child類的建構函式,為father類傳遞引數,
//寫法與為資料成員類傳參相同
child::child(const
char *n,const
char *i):father(n,i)
//child類的show()
void child::show(void)
int main()
在上面的func函式中,如果father類的`show()函式沒有virtual,則father指標的函式只能執行father的show()函式,加上virtual後,呼叫的函式根據引數的具體物件執行不同的函式。
如果類中成員函式中virtual後=0,代表類為純虛類,則這個成員函式可以不實現,如果父類中沒有實現,子類繼承後子類也是純虛類
C 學習筆記(二) 繼承與多型
繼承 定義派生類要在類識別符號後面新增乙個冒號,接著新增基類名稱 如下 class person 定義基類person c 3.0 可以簡寫 public string gender private int age 不簡寫,新增正值判斷 public int age set public void ...
C 繼承與多型(二)
多型 虛函式 類成員函式前面加virtual關鍵字 虛函式重寫 當在子類的定義了乙個與父類完全相同的虛函式時,則稱子類的這個函式重寫了這個父類的這個虛函式 滿足條件 1.虛函式的重寫 2.父類的指標 引用呼叫虛函式 多型跟型別無關,與物件有關 多型 當使用基類的指標或引用調重寫的虛函式時,當指向父類...
c (八) 繼承與多型(二)
一 抽象類與動態型別轉換 1 訪問控制屬性 類的定義中有public private和protected三個關鍵字,其中private關鍵字說明類中成員為私有成員,只能在類內的函式訪問 public成員為公有成員,可被任何其他類訪問,protected關鍵字是保護屬性,保護屬性的資料或函式可被派生類...