Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » [Anfängerproblem] Klassendefinition/deklaration im .cpp

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
18.04.2004, 17:52 Uhr
DerSchwarzeSchlumpf



hi

so ich weiß das ist jetzt sicher wieder eine idiotenfragen, aber ich hab jetzt eine stunde rumprobiert und hab echt keine ahnung wie die synatx dafür ist und was der compiler wirklich will.
ich hab derzeit alle meine klassen im Header inkludiert. (was irgendwie praktisch ist finde ich weil ich das header ja in anderen .cpp's auch brauche *g*). die methoden sind selbstverständlich alle extra im .cpp.
das problem ist jetzt: Laut dem Coding-Standard an dem ich mich halten muss dürfen die Klassen NICHT! im Header sein, sondern müssen ins .cpp
Die Frage ist: Wie definiere ich dann im Header die Klasse?
class Classenname{};
funktioniert bei mir irgendwie nicht (lauter fehlermeldungen dass er keine ahnung hat was ich eigentlich will *g*).

beispiel:
derzeit steht in meinem .h zB:

C++:
class Matrix
{
  private:      
    static unsigned int matrix_row;
    static unsigned int matrix_column;
    bool** general_matrix;
    Matrix();
    static bool matrix_defined;
    static bool wrong_char_used;


  protected:
    static Matrix* instance;

  public:  
    ~Matrix();
      unsigned int GetMatrixRow() { return matrix_row; }
    unsigned int GetMatrixColumn() {return matrix_column; }
      void createNewMatrix(unsigned number_row,unsigned number_column);
    bool** getGeneralMatrix() {return general_matrix;}
    bool* getDefinedMatrixRow(unsigned int row);
    bool getBoolRowColumn(unsigned int row, unsigned int column);
    bool getMatrixDefined() {return matrix_defined;}
    bool getWrongCharUsed() {return wrong_char_used;}
    void setWrongCharUsedTrue() {wrong_char_used = true;}
    void setWrongCharUsedFalse() {wrong_char_used = false;}
    void setMatrixDefined();
    void setMatrixDefinedToNull() {matrix_defined = false;}
    void setGeneralMatrixToNull() {general_matrix = NULL;}
    void setMatrixColumn(int column);
    void setMatrixRow(int row);
    void setMatrixBool(bool user_sign_identification, unsigned row_counter, unsigned column_counter);
    static Matrix* getInstance() {if(instance==NULL) instance = new Matrix(); return instance;}
};



nur sollte das ganze im .cpp stehen und in der .h nur der verweis dass es das gibt. nur wie schaut dieser verweis aus ich hab alle (meiner meinung nach) möglichen syntax-sachen durchprobiert aber nichts hat funktioniert

wär echt klass wenn jemand einen tipp hätte *g* *schäm*
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
18.04.2004, 18:04 Uhr
Oliver
S2-Pixelgeneral


Laut meinem Wissen schreibt man in einem Header die Klassendeklaration so:


C++:
class myClass
{
int m_member;

public:

int myFunction();

};



Und dann in der entspechenden cpp die Implementierung:


C++:
#include "myclass.h"

int myClass::myFunction()
{
m_member=0;
}





Ansonsten kannst du eine Klasse auch so bekanntmachen :


C++:

myClass;



--
Demokratie ist die Diktatur der Mehrheit.

www.siedler25.org/ ( Siedler2 - Remake )

Dieser Post wurde am 18.04.2004 um 18:05 Uhr von Oliver Müller editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
18.04.2004, 23:31 Uhr
DerSchwarzeSchlumpf



danke werd ich gleich mal probieren (:
 
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: