Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Zeiger of einander in 2 classen!

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
20.09.2004, 18:24 Uhr
~Davood
Gast


Hallo C++ experten,

hier ist es mein Problem: Ich habe 3 Klassen "Edge", "Element" und "Source". Jede Klasse beinhaltet einen Zeiger auf eine Object von andere Klasse nämlich so:


C++:
#include "Element.h"

class Edge
{
public:
    Edge()
    {
        type_   = 0 , index_  = 0, length_ = 0.;
    }
    int    type_;
    int    index_;    
    double  length_;

    Element *cellLf_, *cellRt_;
};


und so habe ich meine Klasse "Element" definiert:


C++:

#include <vector>
using namespace std;

#include "Source.h"

class Edge;

class Element
{
public:
    Element()
    {
        global_  = 0 ;
        index_   = -1;
    }

    int      global_ ;
    int      index_  ;

    vector<Edge*>   edges_;
             Source       *mySource_;

};



C++:
class Element2d;

class Source
{
public:
    Source()
    {
        termX_ = 0.0, termY_ = 0.0;
    }

    double termX_, termY_;

    void calTerms(Element *) = 0;
};


jetzt versuche ich diesen Vektor in der Methode "calTerms" die Infortmationen von dem Vektor edges_ nutzen. Aber es geht nicht. Compeiler gibt Fehlermeldung, dass er die edges_ nicht erkennt. (ich habe den Vektor bereits belegt.) Interessanteweise dort wo ich den Inhlat vom Vektor edges_ belege, gibt es keine Meldung?????

Jetzt Meine Frage: wie kann man in zwei Klassen auf eineder einen Zeiger haben?

MfG
Davood
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
21.09.2004, 08:56 Uhr
Airdamn



Ich glaube Du musst in den Header-Dateien nur Prototypen der anderen Klasse(n) angeben und das #include der Header der anderen Klasse in der .cpp machen.

Also in Edge.h:

C++:
class Element;

class Edge
{
...
}



und in Edge.cpp:

C++:
#include "Element.h"

 
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: