Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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

Geschrieben

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]

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...