假设我有一个具有如下构造函数的类。
// CPP
class Person
{
int age;
Person(int a)
{
age = a;
}
}
有没有一种方法可以在构造函数的属性中使用'age'而不是'a'?在Python中,这是直接的,如下所示。我很好奇我们是否可以用CPP做同样的事情,因为这将使代码易于阅读。
# Python
class Person:
def __init__(self, age)
self.age = age
编辑:已将“void Person(int a)"更改为”Person(int a)"
通常,您应该使用成员初始值设定项列表来初始化成员。此列表是一个特殊情况,其中成员和参数名称之间没有歧义,也没有阴影:
class Person
{
int age;
Person(int age) : age(age) {}
// member(parameter)
}
是依赖于此,还是应用区分参数和成员的命名方案,这是一个风格问题,两者都有很好的论据。
有关构造函数和成员初始值设定项列表的更多细节,请访问https://en.cppreference.com/W/cpp/language/constructor。