我想要一个构造函数,以便可以这样构建我的对象:Student student(age, first, last, email)
,然后将使用我的setter函数来构建该对象。这样一来,我可以用一行漂亮的代码来设置该对象所需的所有变量。
下面应该使我想做的事情更加清楚:
这是我设想的构造函数,以便在另一个函数中可以构建对象并已设置值。
Student s(age, first, last);
-
Student::Student(int age, string first, string last) {
setAge(age);
setFirst(first);
setLast(last);
}
很长一段时间以来,我都没有使用像cpp这样的硬语言,所以我希望这对于你们所有人来说都不是太基本。
答案 0 :(得分:1)
正如许多注释中所建议的那样,C ++确实允许这样做,因此您应该使用成员初始化器列表。
class Student
{
public:
Student(int age, std::string const& firstName, std::string const& lastName)
: m_age(age)
, m_firstName(firstName)
, m_lastName(lastName)
{
}
private:
int m_age;
std::string m_firstName;
std::string m_lastName;
};
然后您可以像这样构造一个学生:
Student s(21, "Jane", "Doe");