次のスニペットを検討してください。
struct ObjectInterface
{
virtual ~ObjectInterface() {}
virtual void Print(std::ostream& target) const = 0;
};
struct Foo : ObjectInterface
{
virtual void Print(std::ostream& target) const
{
target << "Foo";
}
};
struct Bar : ObjectInterface
{
virtual void Print(std::ostream& target) const
{
target << "Bar";
}
};
標準的な " " タイプの出力に変更する方法はありPrint
ますか? 私はそれを機能させることはできません。ObjectInterface
std::ostream& operator<<
編集:私は基本的に、私friend
がvirtual
.