C++ 声明没有空构造函数的未初始化变量

C++ 声明没有空构造函数的未初始化变量,c++,C++,考虑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:

考虑
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_;  
};
#包括
类双点{
公众:
双点(整数x,整数y);
int getX()常量;
int getY()常量;
无效集x(int x);
void setY(inty);
作废打印();
私人:
int x_2;;
int y_;
};

您是否不能使用诸如
DUPoint p之类的语句声明未初始化的
DUPoint
变量使用当前配置的此类,因为它没有空构造函数?

是的,如果有用户声明的构造函数,编译器将不会隐式生成默认构造函数。

如果提供构造函数,则不会生成默认构造函数。当然,添加一个只是时间问题

DUPoint();