๐Ÿš€ go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: de.comp.lang.c++
Article #1685

<<-operator virtual ???

#1685
From: Stephan Klevenz
Date: Mon, 26 Feb 1996 09:34
57 lines
1399 bytes
Hallo,

vieleicht kann mir jemand bei meinem Problem helfen:


Ich moechte den <<-Operator ueberladen und als virtuelle Methode 
an eine abgeleitete Klasse vererben. Etwa so:

class A
{
   public:
      virtual ostream& operator << (ostream& os) 
         {
            return os << "bla(A)" << endl;
         }
};

class B : public A
{
   public:     
      virtual ostream& operator << (ostream& os)
      {
         A::operator << (os);	
         return os << "bla(B)";
      }
};

Als Ergebnis haette ich gerne:

void main(void)
{
   A* p=new B;
   cout << (*p);
}

erwartete Ausgabe: bla(A)
                   bla(B)


Es funktioniert aber nicht. Was mache ich falsch? Kann man den 
<<-Operator รผberhaupt virtuell ueberschreiben?

Gruss
Stephan


-- 
Stephan Klevenz 

Leica Lasertechnik GmbH
INF518 
Im Neuenheimer Feld 5-8
69120 Heidelberg
Germany
EMail: klevenz@llt.de
Phone +49 6221 4148 28
Fax   +49 6221 4148 33
Technical Details
Message-ID: <31317EA6.714D@llt.de>
Path: arc1-ca.pugleaf.net!ahorn.she.de!usenet

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!ahorn.she.de!usenet
From: Stephan Klevenz <klevenz@llt.de>
Newsgroups: de.comp.lang.c++
Subject: <<-operator virtual ???
Date: Mon, 26 Feb 1996 10:34:30 +0100
Organization: Leica Lasertechnik GmbH
Message-ID: <31317EA6.714D@llt.de>
NNTP-Posting-Host: retina.llt.de
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-2
Content-Transfer-Encoding: 8bit
X-Mailer: Mozilla 2.0GoldB1 (WinNT; I)