下面定义了一个表示二维坐标点的类 Point,并提供了一个带参数的构造函数,但第②行 Point b; 会调用编译器自动生成的默认构造函数,将 b.x 和 b.y 初始化为 0.0,程序可以正常运行。
class Point {
public:
double x, y;
Point(double px, double py) : x(px), y(py) {}
void print() {
cout << "(" << x << ", " << y << ")";
}
};
int main() {
Point a(3.0, 4.0); // ①
Point b; // ②
a.print();
}