Две базы в C++
Иногда объект собирают из двух независимых «половин» с разными методами.
В заголовке потомка через запятую пишут несколько баз:
class Student : public Named, public Aged.
Потомок получает публичные поля и методы каждой.
Запишем две короткие базы:
#include <iostream>
class Named {
public:
void showName() {
std::cout << "ann\n";
}
};
class Aged {
public:
void showAge() {
std::cout << "20\n";
}
};
class Student : public Named, public Aged {
};
Создадим объект класса Student и вызовем методы обеих баз:
int main() {
Student student;
student.showName();
student.showAge();
return 0;
}
Сделайте классы Priced и Counted
с одним методом каждый и класс Product,
наследующий от обоих. Вызовите оба метода
у одного объекта.