《C 程式設計風格》第三章 不必要的繼承

2021-07-15 07:21:14 字數 1256 閱讀 7070

乙個c++類有著兩個重要的方面:用於描述類行為的公有介面,以及行為的私有實現

大多數繼承所採用的都是公有繼承的形式:派生類同時繼承了基類的藉口和實現。

在私有基類中,派生類繼承了所有的實現,但沒有繼承任何介面。

而在繼承公有的抽象基類時,派生類繼承了所有的介面,但所繼承的實現可能是不完整的或者是不存在的。

解答:

我建立乙個基類point,兩個派生類circle和line。

其中, circle通過私有繼承的方式獲取point的服務, 而因為要使用兩個point物件,因此line私有成員的方式獲取服務。

**:

#include 

#include

using namespace std;

class point

void setloc(int x_, int y_)

int getx() const

int gety() const

private:

int x, y;

};class circle: private point

void set(int x_, int y_, int r_)

void setloc(int x_, int y_)

void setradius(int r_)

point getloc() const

int getradius() const

double area() const

double length() const

private:

int r;

};class line

void setloc(int x1, int y1, int x2, int y2)

void setstart(int x, int y)

void setend(int x, int y)

point getstart() const

point getend() const

double length() const

private:

point sp, ep;

};int main()

不必要的繼承 《C 程式設計風格》讀書筆記(四)

分類 讀書筆記2010 02 27 08 45 184人閱讀 收藏舉報 讀書 c 程式設計 delete class 伺服器 如果要理解派生類和基類之間的繼承關係,那麼很重要的一點就是分別對繼承關係中的介面部分和實現部分進行分析。下面是乙個表面上非常適合使用繼承的示例,不過,在對基類和派生類的介面和...

第三章 繼承

通過擴充套件或者修改既有類來定義新類的方法叫做繼承 inheritance 子類可以 追加新的方法 追加新的例項變數 重寫定義父類中的方法 父類和子類是一種相對稱呼 在集合用語中,子集指的是比較小的集合,但在類的情況下子類一般是父類的擴充套件。oc有唯一根類,所有物件直接或間接繼承了nsobject...

第三章 REST風格

1 理解本真的rest架構風格 2 rest 1 rest 即 representational state transfer。資源 表現層狀態轉化。是目前最流行的一種網際網路軟體架構。它結構清晰 符合標準 易於理解 擴充套件方便,所以正得到越來越多 的採用 資源 resources 網路上的乙個實...