これは宿題用です。
基本クラス Item と派生クラス Book があります。
私は op<< Item クラスでオーバーロードしています:
ostream& operator<<(ostream& out, const Item* const item)
{
out << item->getName() << endl;
return out;
}
Book クラスと同様に:
ostream& operator<<(ostream& out, const Book* const b)
{
out << b->getPages() << endl;
return out;
}
ただしItem
、コードを実行するときに演算子のみが使用され、本のページは印刷されません。基本クラスだけでなく、「本」が印刷されるようにしました。私が読んだ資料から、基本クラスと派生クラスの両方の演算子をオーバーロードすることが想定されているように思われるため、本の情報が印刷されない理由がわかりません。