С наследованием я пытаюсь создать перегруженный оператор вывода в моем базовом классе, который вызывает функцию вывода в соответствующем производном классе, чтобы печатать правильные данные в зависимости от типа объекта.
Как вы возвращаете вывод, который можно отправить в перегруженный оператор вывода, чтобы вы могли вывести объект с помощью всего cout << object << endl;
Например:
ostream & operator<< (ostream &out, const person &rhs){
out << rhs.print_data();
return out;
}
ostream student::print_data(){
ostream out;
out << data;
return out;
}
ostream faculty::print_data(){
ostream out;
out << data;
return out;
}
РЕДАКТИРОВАТЬ: я пытаюсь выяснить, нужно ли мне возвращать тип ostream
или ostream &
в функции печати