8 1 線段類設計與實現 類組合

2021-08-31 21:00:16 字數 1102 閱讀 5267

要求在point類基礎上採用類組合的思想,設計乙個線段類,如圖所示,線段類包括2個點類物件,成員函式能顯示該線段的起點座標、終點座標以及線段的長度。2個點座標從鍵盤輸入,線段長度通過公式計算。

在學習過封裝後,我們要學會將類進行組合,如何進行組合呢?

首先我們將類區分為兩種,一種是被引用的,另一種是需要引用前一類中某些資料項或者成員函式的,為了方便下面講解,在這裡我將他們分別命名為提供類和需求類

重點就在於需求類中的操作

首先就要宣告提供類作為資料成員

比如我用circle類需要point類中的某些成員

那麼在circle類中除了要宣告double型的半徑r 還要宣告circle型的 c1

請看例題

前置**::

#include #include using namespace std;

class point//點類定義

要求,設計出line類使得輸出滿足如下情況

point類的帶引數建構函式被呼叫↵

point類的帶引數建構函式被呼叫↵

point類的拷貝建構函式被呼叫↵

point類的拷貝建構函式被呼叫↵

line類的有參建構函式1被呼叫↵

start=(100,100)↵

end=(200,300)↵

length=223.607↵

point類的帶引數建構函式被呼叫↵

point類的帶引數建構函式被呼叫↵

line類的有參建構函式2被呼叫↵

start=(100,100)↵

end=(200,300)↵

length=223.607↵

下面按照開始提示的進行line類的編寫

class line

line(double a,double b,double c,double d) :p1(a,b),p2(c,d)//這裡很值得注意 有些類似於賦值,區別就在於這是類組合的賦值

void show()

};

類的組合,線段(Line)類

我們使用乙個類來描述線段,使用point類物件來表示端點,line類具有計算線段長度的功能,在建構函式中實現。源程式如下。include include using namespace std class point intgetx int gety point point p int point ...

類與物件 書籍類的設計與實現

問題描述 仔細閱讀主程式中的呼叫語句,模擬實現書籍類 book 每本書包含乙個書架號 shelf id 和 price 輸入形式 總共2n 1行,第一行輸入n,表示有n本書,接下來的2n行,分別輸入n本書的書架號和 輸出形式 總共n行,每一行輸出一本書的書架號和 輸出包括前導輸出資訊,書架號佔18個...

AGG 組合類線段生成器

標頭檔案 include 型別template class agg span converter span converter的作用是組合兩種生成器,比如先由圖案類線段生成器產生圖案,然後由色彩類線段生成器產生半透明色疊加在圖案上。下面的演示 演示了怎樣組合span image filter rgb...