2
Betrachten Sie das folgende Snippet:ABC Virtuelle oStream Insertion Operator
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";
}
};
Gibt es eine Möglichkeit Print
in ObjectInterface
den Standard "std::ostream& operator<<
" -Typ der Ausgabe zu ändern? Ich kann es nicht funktionieren lassen.
EDIT: Ich versuche im Grunde herauszufinden, ob ich friend
mit virtual
arbeiten kann.
Gott, das furchtbar einfach. Ich kann nicht glauben, dass ich nicht daran gedacht habe ... Danke. –
Fühlen Sie sich nicht so schlecht. Der erste Typ bei Bell Labs (denke ich), der daran dachte, war wahrscheinlich ziemlich zufrieden mit sich selbst - der Rest von uns benutzt es einfach. –