2010年9月29日 星期三

設定class的const member初值

設計一個Circle類別,其中有成員常數PI。

class CCircle
{
protected:
    const double PI;

public:
    CCircle(void);
};

假如我在建構子以如下方式給定PI = 3.14159265的話

CCircle::CCircle(void)
{
    PI = 3.14159265;
}

在VS會產生error C2758: 'CCircle::PI' : must be initialized in constructor base/member initializer list

正確的寫法為

CCircle::CCircle(void) : PI(3.14159265)
{
}

沒有留言:

張貼留言