Конструктор базы в C++
Перед телом конструктора потомка нужно собрать часть объекта, которая принадлежит базе.
В списке инициализации после двоеточия пишут вызов
конструктора базы: Employee(...) : User(name, surn).
Запишем User с двумя строками, расширим
Employee зарплатой и выведем имя и оклад:
#include <string>
class User {
public:
User(std::string name, std::string surn)
: name(name), surn(surn) {
}
std::string getName() {
return name;
}
std::string getSurn() {
return surn;
}
private:
std::string name;
std::string surn;
};
class Employee : public User {
public:
Employee(std::string name, std::string surn, int salary)
: User(name, surn), salary(salary) {
}
int getSalary() {
return salary;
}
private:
int salary;
};
Создадим объект класса Employee и выведем имя и оклад:
int main() {
Employee employee("john", "smith", 1000);
std::cout << employee.getName() << "\n";
std::cout << employee.getSalary() << "\n";
return 0;
}
Пусть класс Employee наследует
от User из данного урока.
Добавьте в конструктор Employee
параметры возраста и зарплаты, передайте
имя и фамилию в User,
сделайте геттеры для возраста и зарплаты.