C++靜態成員變數詳解

2020-07-16 10:04:41
預設情況下,每個類的物件(類的一個範例)都有它自己的類的成員變數副本。一個物件的成員變數與同一個類的其他物件的成員變數是獨立分開並且有區別的。

例如,來看以下宣告:
class Widget
{
    private:
        double price;
        int quantity;
    public:
        Widget(double p, int q)
        { price = p; quantity = q; }
        double getPrice() const
        { return price; }
        int getQuantity() const { return quantity; }
};
假定在某個程式中,使用以下宣告建立了 Widget 類的兩個單獨的範例:

Widget w1(14.50, 100), w2(12.75, 500);

該語句建立了兩個不同的物件 w1 和 w2。每個物件都有自己的 price 和 quantity 成員變數,如圖 1 所示。


圖 1 兩個不同的物件 w1 和 w2