С++ ООП ( Наследование, конструктры )
Извиняюсь сразу, за возможную тупость вопроса. Я не очень понимаю у меня есть 2 класса, один наследует другой , как в наследуемом классе вызвать конструктор суперкласса, и чтобы экземпляр класса, который наследуется не ругался на принимаемые аргументы.
#include <iostream>
#include <string>
class UnivercityMember {
public:
UnivercityMember(std::string user_name, int age) {
std::cout << "UnivercityMembers constructor2" << std::endl;
this->user_name = user_name;
this->age = age;
}
~UnivercityMember() {
std::cout << "UnivercityMembers Deconstructor" << std::endl;
}
void show_all() {
std::cout << "Name: " << user_name << " <-> " << "Age: " << age << std::endl;
std::cout << std::endl;
}
std::string user_name;
int age;
};
class UnivercityStudent : public UnivercityMember {
public:
Не очень понимаю тут
UnivercityStudent():UnivercityMember(user_name, age){
std::cout << "UnivercityStudent constructor" << std::endl;
}
~UnivercityStudent() {
std::cout << "UnivercityStudent Deconstructor" << std::endl;
}
};
void main()
{
std::cout << std::endl;
UnivercityMember st_1("Bella", 21);
std::cout << std::endl;
st_1.show_all();
std::cout << std::endl;
Тут выдаёт ошибку: Отсутствуют экземпляры конструктора
UnivercityStudent st_2("Tom", 23);
std::cout << std::endl;
st_2.show_all();
}