抽象クラスがある場合、それを「Vertebrate」と呼びましょう。それにはフィールドがあり、子クラスでオーバーライドされて呼び出されるstd::string name;純粋仮想メソッド
があります。virtual void print(std::ostream&) const noexcept = 0;operator<<
ポリモーフィズムがどのように機能するか、およびoperator<<継承されたクラスに実装する方法がわかりました。
私が得られないもの:
私はこれを理解していません:operator<<仮想印刷機能を使用する、その抽象クラスでの実装方法。このコードが機能しないのはなぜですか? 私の抽象クラスにはoperator<<.
virtual void print(std::ostream&) const noexcept = 0;
std::ostream & operator<<(std::ostream & str, Member &obj)
{
return obj.print(str);
}
それが抽象クラスのコードです。