回覆列表
  • 1 # othnz42639

    宣告必須在類體內,實現可以在類體外,但是必須用類域名。比如:一:在類體內實現: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;}

  • 2 # 使用者8852944140293

    可以,但定義成private會導致此類不能直接被外部例項化。如果需要建立物件就需要提供一個static方法來訪問本身的建構函式。簡單例子:

    class A

    {

    public:

    static A* createInstance() {return new A();}

    private:

    A(){}

    };

    有興趣的話可以參考一下singleton設計模式。

  • 中秋節和大豐收的關聯?
  • 火箭G4大勝森林狼,戈登得到本賽季季後賽個人單場最高分,你如何評價他的發揮?