C++物件做成員變數(無師自通)

2020-07-16 10:04:39
有時將一個類的物件巢狀在另一個類中是很有用的。例如,來看以下宣告:
class Rectangle
{
    private:
        double length;
        double width;
    public:
        void setLength(double);
        void setWidth(double);
        double getLength();
        double getWidth();
        double getArea();
};

class Carpet
{
    private:
        double pricePerSqYd;
        Rectangle size;    // size 是 Rectangle 類的範例
    public:
        void setPricePerYd(double p);
        void setDimensions(double l, double w);
        double getTotalPrice();
};
請注意,Carpet 類有一個名為 size 的成員變數,它是 Rectangle 類的一個範例。Carpet 類可以使用此物件來儲存房間尺寸並計算購買地毯的面積。圖 1 說明了兩個類是如何相關的。當一個類被巢狀在另一個類中時,稱為物件組合

對象組合
圖 1 物件組合