回覆列表
-
1 # othnz42639
-
2 # 使用者8852944140293
可以,但定義成private會導致此類不能直接被外部例項化。如果需要建立物件就需要提供一個static方法來訪問本身的建構函式。簡單例子:
class A
{
public:
static A* createInstance() {return new A();}
private:
A(){}
};
有興趣的話可以參考一下singleton設計模式。
宣告必須在類體內,實現可以在類體外,但是必須用類域名。比如:一:在類體內實現:class CAA{public: // 宣告並實現建構函式 CAA(int nData) { m_nData = nData; }pirvate: int m_nData;}CAA::CAA(int nData){ m_nData = nData;}二:在類體外實現:class CAA{public: CAA(int nData); // 宣告建構函式pirvate: int m_nData;}// 建構函式的實現CAA::CAA(int nData){ m_nData = nData;}