2010-04-26 89 views
4

考慮DUPoint類,其聲明如下所示。假設這個代碼將出現在一個名爲DUPoint.h文件:聲明一個沒有空構造函數的未初始化變量

#include <string> 
class DUPoint { 
public: 

    DUPoint (int x, int y); 

    int getX() const; 
    int getY() const; 

    void setX (int x); 
    void setY (int y); 

    void print(); 

private: 
    int x_; 
    int y_; 
}; 

這是真的,你不能使用這個類作爲當前配置,因爲它有沒有空的構造與語句聲明未初始化的變量DUPointDUPoint P;

回答

6

是的,如果有一個用戶聲明的構造函數,編譯器就不會隱式生成默認的構造函數。

+0

謝謝。並感謝解釋......我現在明白了 – xbonez 2010-04-26 05:31:22

1

如果您提供了構造函數,那麼將不會生成默認的構造函數。當然,加一個只是個問題

DUPoint(); 
相關問題