#1 5. Mai 2006 hi, wer kennt sich nen konstruktor aus? muss nen programm schreiben wo 2konstruktor drin sind. Kann mir mal jmd nen beispiel-code zeigen.Is egal welches, hauptsache man sieht wie es geht MFG + Multi-Zitat Zitieren
#2 5. Mai 2006 Tach also ein Konstruktor ist praktisch eine Funktion mit der, ein Objekt, bei seine Instanziierung Initialisiert werden kann (also kann dem angelegten Objekt dabei direkt ein Inhalt zugewiesen werden). Das könnte z.B. so aussehen: struct datum { int tag; int monat; int jahr; datum() // erster Konstruktor { tm h = heute_datum(); tag = h.tm_mday; monat = h.tm_mon+1; jahr = h.tm_year+1900; } datum(int t, int m, int j) // zweiter Konstruktor { tag = t; monat = m; jahr = j; } } mit dem ersten Konstruktor kann man die Struktur ohne weitere Parameterangabe anlegen: datum heute; // durch diesen Aufruf wird ein Objekt vom Typ datum angelegt und mit dem // aktuellen Datum initialisiert datum weihnachten2005(24,12,2005); // Diese Instanz wird direkt mit dem Übergebenen Datum initialisiert Ob der Code so direkt funktioniert weiß ich jetzt nicht. Ich wollte nur erst mal das Grundprinzip aufzeigen was ein Construktor ist und wie das prinzipiell funktioniert. + Multi-Zitat Zitieren
#3 5. Mai 2006 thx erstmal....grundprinzip ist mir klar. Ersten Konstruktor bekomme ich auch noch alleine hin und das ich ihn ausgebe auch noch aber halt den zweiten nicht. + Multi-Zitat Zitieren
#4 5. Mai 2006 Woran genau scheitert die Umsetzung des zweiten Konstruktors denn? + Multi-Zitat Zitieren
#5 6. Mai 2006 tja der will nicht so wie ich will..*lach* naja ich kann den nicht ausgeben also anzeigen lassen bzw werte zuweiesen bsp. im ersten konstruktor möchte ich typ='h'; und im zweiten möchte ich typ='j'; so und die möchte ich im HP ausgeben. + Multi-Zitat Zitieren
#6 6. Mai 2006 Sei mal ein bisschen konkreter (und zeige Code..) Sonst können wir dein Problem schlecht analysieren. Und was ist HP? Und was ist nach deiner Definition ein "zweiter" Konstruktor? Wie du es beschrieben hast, sollte so funktionieren. Code: #include <iostream> class Foo { char typ; public: Foo() { typ = 'h'; } Foo(char typ) : typ(typ) {} inline char getTyp() const { return typ; } }; std::ostream& operator<<(std::ostream& os, Foo& foo) { os << foo.getTyp(); return os; } int main() { Foo foo, foo_('j'); std::cout << foo << " " << foo_ << std::endl; } + Multi-Zitat Zitieren