Klasse string vererben

Schnelle objektorientierte, kompilierende Programmiersprache.
Benutzeravatar
Dirty Oerti
Beiträge: 2229
Registriert: Di Jul 08, 2008 5:05 pm
Wohnort: Thurndorf / Würzburg

Re: Klasse string vererben

Beitrag von Dirty Oerti » Mo Jun 29, 2009 5:36 pm

Kerli hat geschrieben:
cloidnerux hat geschrieben:Ist es überhaupt möglich bestimmte Funktionen und Operatorüberladungen nicht vererbbar zu machen?
Nein, nur der = Operator wird nach dem Standard nie vererbt. Versuch doch einmal zb den += Operator zu verwenden, das sollte problemlos gehen...
Gut zu wissen :)
Bei Fragen einfach an daniel[ät]proggen[Punkt]org
Ich helfe gerne! :)
----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3125
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Klasse string vererben

Beitrag von cloidnerux » Mo Jun 29, 2009 5:44 pm

Also, ich habe mal den "=" Operator so Implementiert:

Code: Alles auswählen

void glString::operator=(const char* text)
{
   this->clear();
   this->insert(0, text);
}
Ich nutze so die in String definerten Funktionen um nicht irgendwelche Fehler zu machen.
Eine andere lösung ist mir im Moment nicht eingefallen
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
Kerli
Beiträge: 1456
Registriert: So Jul 06, 2008 10:17 am
Wohnort: Österreich
Kontaktdaten:

Re: Klasse string vererben

Beitrag von Kerli » Mo Jun 29, 2009 6:50 pm

cloidnerux hat geschrieben:Eine andere lösung ist mir im Moment nicht eingefallen
Wie wäre es einfach den bereits vorhandenen Operator zu verwenden:

Code: Alles auswählen

void glString::operator=(const char* text)
{
   std::string::operator =(text);
}
"Make it idiot-proof and someone will invent an even better idiot." (programmers wisdom)

OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at

Benutzeravatar
fat-lobyte
Beiträge: 1398
Registriert: Sa Jul 05, 2008 12:23 pm
Wohnort: ::1
Kontaktdaten:

Re: Klasse string vererben

Beitrag von fat-lobyte » Mi Jul 08, 2009 10:31 am

cloidnerux hat geschrieben:Ah, += macht er anstantslos, alos muss ich nur den = Operator neu implementieren
Weiß nicht obs funktioniert, aber wie wärs mit sowas:

Code: Alles auswählen

class MeineKlasse : public std::string
{
    MeineKlasse& operator= (const std::string& s)
    { 
        std::string::operator= (s); 
        return *this;
    }
}
const std::string& deshalb, weil das zuweisen von sowohl std::string und char* funktionieren sollte (implizite Typkonvertierung).
Haters gonna hate, potatoes gonna potate.

Antworten