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();