Guybrush Threepwood Geschrieben 25. November 2002 Teilen Geschrieben 25. November 2002 Hi, mal angenommen ich habe so eine Klasse: class Test { public: Test(char* text) { strcpy(var,text); } char* getvar() { return var; } private char var[100]; }; [/PHP] Dann kann ich die char Variable so ausgeben: [PHP] Test t("Hallo"); printf ("%s",t.getvar()); Ich möchte diese Variable aber so ausgeben: printf ("%s",t); [/PHP] Also dass wenn nur das Objekt angegeben ist er immer diese Variable nimmt, ist das irgendwie möglich? Gruß Guybrush Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 25. November 2002 Teilen Geschrieben 25. November 2002 Du kannst für Deine Klasse einen Cast-Operator definieren: operator char const *() const { return var; }[/CODE] Dann wird, wann immer Du eine Instanz von Test an Stelle eines char const* oder char const * const angibst, var verwendet. Damit funktioniert z.B.: [CODE]printf( t ) Folgendes wird nicht funktionieren, weil die nachfolgenden Parameter bei printf keine Typprüfung haben: printf( "%s", t ); Die Möglichkeiten wären hier: printf("%s", static_cast<char const *>( t ) ); printf("%s", (char const *)t );[/code] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Guybrush Threepwood Geschrieben 25. November 2002 Autor Teilen Geschrieben 25. November 2002 :eek: Ich dachte eigentlich das sowas nicht geht, werd zu Hause direkt mal ein bischen rumprobieren. Danke und :uli Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.