如何创建一个为常量结构参数赋值的结构构造函数?

我正在尝试创建一个结构(或类,无关紧要),其构造函数将值分配给结构的常量参数。即我不想在创建 Point 对象后更改它的任何变量。

以下代码显然不起作用,因为构造函数试图更改常量的值。

struct point
{
    const int x;
    const int y;

    point(int _x = 0, int _y = 0)
    {
        x = _x;
        y = _y;
    }
};

point myPoint = point(5, 10);
std::cout << myPoint.x << myPoint.y << std::endl;

回答

使用成员初始化列表:

struct point
{
    const int x;
    const int y;

    point(int _x = 0, int _y = 0) : x(_x), y(_y) {}
};


以上是如何创建一个为常量结构参数赋值的结构构造函数?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>