{
cout << "id = " << value << endl;
}
protected:
int value;
};
int nextStudentId = 1000;
class Student
{
public:
Student(const char* pName, int ssId) : name(pName), id(ssId)
{
cout << "Конструирование студента " << pName << endl;
}
Student(const char* pName) : name(pName)
{
cout << "Конструирование студента " << pName << endl;
}
protected:
string name;
StudentId id = nextStudentId++;
};
Подскажите пожалуйста, каким образом в выделенной строке int присваивается переменной типа StudentId?
Код я понимаю, конструкторы, передача аргументов в конструкторы вложенных объектов... Просто не пойму только последнюю строчку, как происходит такое присваивание? Я ведь не создаю объект id, а присваиваю ему совсем другой тип.
https://en.cppreference.com/w/cpp/language/initialization
Ты не написал у конструктора explicit
Обсуждают сегодня