要求在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...