2010-04-26 49 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(); 
相关问题