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