2
Considérons l'extrait suivant:ABC Virtual ostream Insertion opérateur
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";
}
};
Est-il possible de changer Print
en ObjectInterface
à la norme "std::ostream& operator<<
" -type de la production? Je ne peux pas le faire fonctionner.
EDIT: Essentiellement, je cherche à savoir si je peux faire friend
de travail avec virtual
.
Dieu, qui est terriblement simple. Je ne peux pas croire que je n'ai pas pensé à ça ... Merci. –
Ne vous sentez pas trop mal. Le premier type de Bell Labs (j'imagine) qui y pensait était probablement plutôt content de lui - le reste d'entre nous l'utilise. –