Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
14.11.2001, 09:50
Jehova-3



Und wieder mal stelle ich ein paar Fragen ;) diesmal aber bezüglich C++ allgemein:

1.)
Ich habe zwei Klassen
CElementDarsteller
und
CBeweglichDarsteller
wobei CBeweglichDarsteller von CElementDarsteller abgeleitet ist.
Beide Klassen haben einen Konstruktor, denen als Parameter ein char* übergeben wird.

Das Problem an der Sache ist, daß ich eine Fehlermeldung bekommen, daß kein geeigneter Standardkonstruktor verfügbar sei.
Ich habe dabei zwei Möglichkeiten gefunden, diese Fehlermeldung wegzukriegen:

a)
Ich habe CBeweglichDarsteller als normale Klasse, die nicht von CElementDarsteller abgeleitet ist definiert

oder

b)
Ich habe für CElementDarsteller einen Konstruktor hinzugefügt, dem keine Parameter zur Verfügung stehen

beides ist allerdings für das Programm nicht die wirkliche Lösung, da beim parameterfreien Konstruktor keine Informationen zur Verfügung stehen um eine vernünftige Instanz der Klasse zu erstellen und CBeweglichdarsteller auch wirklich von CElementDarsteller abgeleitet werden sein soll.

----------------------------------------------------------

Hier habe ich wohl rausgefunden, wo das Problem war, anscheinend wird beim Konstruktor einer abgeleiteten Klasse einfach versucht ein Parameterfreier Konstruktor der Basisklasse aufzurufen. Allerdings hätte ich hierzu auch eine Frage:
Kann man dem Konstruktor irgendwie klarmachen, daß er anstelle des Parameterfreien Konstruktors einen anderen verwenden soll ?
Die Frage, ist dann wohl so ziemlich die selbe wie Frage 2

2.)
Wie teile ich einem Konstruktor einer abgeleiteten Klasse mit, daß er die Initialisierungen eines Konstruktors der Basisklasse aufrufen soll ?
Bei Delphi gab es dafür ja das Schlüsselwort inherited, geht dies bei C++ einfach über den Aufruf des Konstruktors der Basisklasse selbst ?

3.)
Bei Pascal und Delphi gibt es wie bei C++ auch einen Befehl namens exit, der das Programm beendet, allerdings gilt dort die Verwendung dieses Befehls als wirklich unsauber. Gilt dies für C++ auch oder ist es dort etwas anders geregelt.

--

Are you gonna miss me ?
Only until I go to the Newsstand and buy a Hustler


Dieser Beitrag wurde am 14.11.2001 um 10:05 von Jehova-3 bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
001
14.11.2001, 10:49
Tron



Quellcode:
.class CElementDarsteller
.{
.    CElementDarsteller(char*)
.    {
.    };
.};
.
.class CBeweglichDarsteller : public CElementDarsteller
.{
.    CBeweglichDarsteller(char* pChar) : CElementDarsteller(pChar)
.    {
.    };
.};

exit() gibt aerger mit dynamisch alloziiertem speicher (musst ihn ja von hand freigeben)
auch bin ich mir nicht sicher ob objekte zerstoert werden

--

'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams

'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett


Dieser Beitrag wurde am 14.11.2001 um 10:51 von Tron bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
002
14.11.2001, 11:16
Jehova-3



*freu*
danke

--

Are you gonna miss me ?
Only until I go to the Newsstand and buy a Hustler

zum Seitenanfang zum Seitenende Profil || Suche
003
14.11.2001, 19:50
Another1



also exit geht schon, musst nur vorher
atexit(myExitFunc); setzen und dann da eben alles in myExitFunc deleten und freen was zu freen und zu deleten is *dong*

--

Another1

...relaxing..atm =)
... und Schweiz suckt!

zum Seitenanfang zum Seitenende Profil || Suche
004
15.11.2001, 14:40
Prefect



Deutsch ist schon eine tolle Sprache *g*

cu,
Prefect

--

Widelands - Gemütliche Aufbaustrategie, Free Software
Noch ein Blog - Lerne, wie die Welt wirklich ist, aber vergiss niemals, wie sie sein sollte.

zum Seitenanfang zum Seitenende Profil || Suche
005
15.11.2001, 15:00
Another1



hab ich mir auch gedacht :D

--

Another1

...relaxing..atm =)
... und Schweiz suckt!

zum Seitenanfang zum Seitenende Profil || Suche
006
15.11.2001, 18:19
Son-Goten



*amkopfkratz*
war das denn überhaupt deutsch, oder denglisch? ;)

--

zum Seitenanfang zum Seitenende Profil || Suche
007
15.11.2001, 19:21
Zeeke



Das war Denglisch....

--

zum Seitenanfang zum Seitenende Profil || Suche
008
16.11.2001, 14:28
Prefect



Nein, das war Engtsch ;P

cu,
Prefect

--

Widelands - Gemütliche Aufbaustrategie, Free Software
Noch ein Blog - Lerne, wie die Welt wirklich ist, aber vergiss niemals, wie sie sein sollte.

zum Seitenanfang zum Seitenende Profil || Suche