程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 基類和派生類

基類和派生類

編輯:C++入門知識

1. 基類構造函數負責初始化繼承的數據成員,派生類構造函數主要用於初始化新增的數據成員。

2.C++要求引用和指針類型與賦值的類型匹配,但是這一規則對繼承來說例外。不過這種例外只是單向的,不可以將基類對象和地址賦給派生類引用和指針。

class TableTennisPlayer

{

  private:

   ....

   public:

  ....

}

class RatedPlayer: public TableTennisPlayer

{

    private:

   ...

    public:

  ...

}

可以:

RatedPlayer rplayer(1140,"Malloy","Duck");

TableTennisPlayer & rp=rplayer;

or:

TableTennisPlayer * rp=&rplayer;

不可以:

TableTennisPlay tplayer("","",true);

RatedPlayer & rp=tplayer;

RatedPlayer * rp=tplayer;

3.成員初始化列表

例如:(由逗號分隔初始化列表,前面帶冒號)

Queue:: Queue(int qs): qsize(qs), front(NULL), real(NULL), item(0)

{

}

注意

1.只有構造函數可以使用這種初始化列表句法。

2.對於const類成員,必須使用這種句法,上面例子中,之前我們在Queue類中私有成員中定義了: const int qsize;

3. 對於被申明引用的類成員,必須使用這種句法:

class Agency{...};

class Agent

{

    private:

    Agency & belong; //引用類型為Agency, 

}

cpp:(對構造函數進行初始化)

Agent::Agent(Agency &a ) : belong(a);// 將belong初始化為a,必須采用成員初始化列表。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved