Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Problem:Defaultkonstruktor in abgeleiteter Klasse

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
05.12.2010, 15:45 Uhr
drz



Hallo!
Habe anscheinend ein Verständnisproblem beim Thema Konstruktoren.
Sowohl Basisklasse als auch abgeleitete Klasse sollen einen Defaultkonstruktor erhalten. Bei der Basis funktioniert das auch, nur bei der abgeleiteten bekomme ich ständig Fehlermeldungen.


C++:
class Base{
public:
    Base();  //Default Konstr
...
};


Basisklasse implementierung:
Base::Base(){
    Uhrzeit.resetTime();
}        //Std. KOnstr

//Bis hierher alles OK.

Abgeleitete Klasse header:
class Derivat:public Base{
public:
    Derivat();
...
}  //warning C4094: 'class' ohne Tag deklariert keine Symbole



Abgeleitete Klasse implemetierung:
Derivat::Derivat(){    //* Fehlermeldungen bei dieser Zeile
    dat=Datum();    //Datum initialisieren mit 01.01.0000

}
/*
    error C2589: '(': Ungültiges Token auf der rechten Seite von '::'
     error C2059: Syntaxfehler: '::'    
    error C2143: Syntaxfehler: Es fehlt ';' vor '{'
    error C2447: '{': Funktionsheader fehlt - Parameterliste im alten Stil?    
*/




Was mache ich falsch? Weiß wirklich nichtmehr weiter!

Vielen Dank schonmal!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
05.12.2010, 21:35 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


strichpunkt am ende des (bzw nach dem) {}-blocks beim derivat vergessen`?
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
05.12.2010, 23:23 Uhr
~f.-th.
Gast


Anmerkung im Quelltext


C++:
class Base{
public:
    Base();  //Default Konstr
...
};


Basisklasse implementierung: // <-- sollte das nicht ein Kommentar werden
Base::Base(){
    Uhrzeit.resetTime();
}        //Std. KOnstr

//Bis hierher alles OK.



MfG f.-th.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
09.12.2010, 20:43 Uhr
drz



Problem gelöst!
lag nicht an hier dargestelltem Code, sondern am folgenden drumherum:

C++:
#ifndef Derivat  //darf NICHT wie Klasse heißen!!
#define Derivat  //!!

class Derivat:public Base{
//...
}

#endif



Vielen Dank trotzdem!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
10.12.2010, 12:54 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


ja das ist klar.

darum macht man auch sowas wie "DERIVAT_H_INCLUDED" oder so als include-guard hin
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: