Я пытаюсь создать класс шаблона с несколькими дочерними элементами, которые переопределяют методы шаблона (я считаю, что я сделал это правильно). Затем мне нужна одна функция, которая может работать со всеми детьми.Использование наследования для общих функций
Например:
#include <iostream>
using namespace std;
class base{
public:
virtual void print(void){
cout << "Base" << endl;
}
};
class inherit_a : public base{
public:
virtual void print(void) override{
cout << "inherit_a" << endl;
}
};
class inherit_b : public base{
public:
virtual void print(void){
cout << "inherit_b" << endl;
}
};
void print_function(base item){
item.print();
}
int main(){
inherit_a item_a;
print_function(item_a);
return(0);
}
Это печатает «база», как я ожидал бы, однако я хотел бы его использовать «метод печати s или inherit_b
» inherit_a
s метод печати, если inherit_b
был приписан print_function
. Что-то вроде этого возможно?
большого спасибо, и спасибо за дополнительную информацию о Устах. Я смог заставить все работать. – user2150521