考虑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_;
};
使用此类作为当前配置的类,因为它没有空构造函数而无法使用诸如DUPoint
之类的语句声明未初始化的DUPoint P;
变量吗?
答案 0 :(得分:6)
是的,如果有用户声明的构造函数,编译器将不会隐式生成默认构造函数。
答案 1 :(得分:1)
如果提供构造函数,则不会生成默认构造函数。当然,添加一个只是
的问题DUPoint();