在C++中,你可以这样定义构造函数:
class Foo
{
private:
int x, y;
public:
Foo(int _x, int _y) : x(_x), y(_y)
{
}
};
构造函数自动将
x
初始化为 _x
并将 y
初始化为 _y
。
当将字段简单地初始化为构造函数参数时,这很方便。
在 12 之前的 C# 版本中,你会这样做:
class Foo
{
int _x;
int _y;
public Foo(int x, int y) {
_x = x;
_y = y;
}
}
使用 C# 12,您可以:
class Foo (int x, int y);
x 和 y 将可用于您的整个呼叫实例。
显然,如果你的类有更多的逻辑,它可以有一个像这样的主体:
class Foo (int x, int y)
{
// Logic that works with x and y
}