linux-l: C++ (templates, operator overloading)

Samy Khadem-Al-Charieh khadem at physik.TU-Berlin.DE
Mo Aug 2 14:30:01 CEST 1999


On Mon, Aug 02, 1999 at 01:35:19PM +0200, Michael Wiedmann wrote:
> [...]
> 
> Die Defintion der Template-Methoden darf natürlich nicht in einer
> CC-Datei
> stehen, sondern in der zugehörigen H-Datei, also ungefähr so:
Warum? Ich dachte, man soll die header möglichst nur mit Deklarationen
und nicht mit Definitionen füllen. Im Moment habe ich es so, wie Du
es beschreibst (also alles im Header-File), aber ich hatte das nur
als vorübergehende Notlösung angesehen!?
> [...]
> 
> Deine "monom.cc" ist also nicht notwendig, beachte aber noch "m_coeff",
> dessen Typ in deinem Beispiel falsch war.
Nein, ich hatte mich nur vertippt an einer Stelle. Eigentlich sollten die
Koeffizienten alle den Template-Typ t_type haben und die Potenzen m_order
den Typ int.
> 
> Zu deinem Problem mit dem Überladen des "<<"-Operators, kann ich im
> Moment nur soviel sagen, als dass (<- neue Rechtschreibung!) du dir im
> Stroustrup mal das Kapitel 21.2.3 "Ausgabe selbstdefinierter Datentypen"
> genauer ansehen solltest.
> Auf den ersten Blick fehlen dir wohl Referenzen auf "ostream".
Danke für den Typ! In dem Abschnitt habe ich noch nicht gelesen - das Buch
neigt aber auch zu leichter Unübersichtlichkeit. Auf jeden fall werde ich
es mir gleichmal zu Gemüte führen.

Soweit erst mal danke für Deine guten Tips und tschüß, Samy.   :-)

-- 
  "The human race is so puny compared to the universe        Prof.S.W.Hawking
   that being disabled is not of much cosmic significance."
Samy Khadem-Al-Charieh          >===---===<          khadem at physik.TU-Berlin.DE



Mehr Informationen über die Mailingliste linux-l