Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Funktion aufrufen

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
12.09.2005, 19:40 Uhr
Kobold



Ich weiss, dass es einen sehr billige Frage ist(bin Anfänger).
Ich habe einige Variable in einer Klasse deklariert. Nennen wir sie mal Klasse_A. Jetzt möchte ich die Daten aber in einer andere Klasse benutzen(Klasse_B). Wie kann ich die Daten nun in der anderen Klasse benutzen?Habe schon die include Anweisung geschrieben.
Und meine zweite Frage ist wie kann ich Funktionen in anderen Klassen aufrufen?
Mfg Kobold
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
12.09.2005, 22:33 Uhr
~HAZ
Gast


genau das problem hatte ich auch schon mal...
(bin eben erst selbst anfänger)

du koenntest einfach die variablen innerhalb der klasse als public definieren und somit allen programmteilen zurgriff erlauben (hat aber den hacken dass, wie gersagt jegliche programmteile freien zugriff haben)

du koenntest in dem konstruktor der einen klasse den konstruktor der anderen aufrufen, somit waeren zumindest die klassen ansatzweise miteinander "verbunden" (glaube ich zumindestens)
und dann koenntest du zugriffsmethoden deklarieren, die die erstellten objekte innerhalb der klasse wiedergeben, entsprechend muesstest du dann variablen als objekte definieren (ich weiß was ich sage hoert sich alles andere als professionell an, deshalb ein beispiel: )


Code:

class Klasse_A
{
public:
          Klasse_A (moegliche parameter fuer Klasse_B) { its_Klasse_B.set_value (einsetzen des parameters) } // wir gehen davon aus dass its_Klasse_B das Objekte der KLasse _B ist und dass set_value die methode ist, die den wert deiner var setzt
          // hier koennte nen destruktor und andere Zugriffsmethoden stehen
          int get_its_Klasse_B () { return its_Klasse_B.get_value() }
          void  set_its_Klasse_B () { its_Klasse_B.set_value (parameter)}
private:
         // hier koennten noch andere variablen stehen
          Klasse_B its_Klasse_B; // deklaration der Klasse um derm Compiler den Zusammenhang der klassen klarzumachen
};




das habe ich zumindest mal ausprobiert ... klappte aber nicht so richtig... aber ist einen versuch wert

ansonsten probiers mit ner vererbung, ist der bessere weg


Code:

class Klasse_A : public Klasse_B //hier hat deine unterklasse auf die Variablen die Basisklasse KLasse_B direkten zugriff , vorausgesetzt, dass du die variablen als proteced angibts




ich hoffe das hilft dir weiter
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
12.09.2005, 22:59 Uhr
Spacelord
Hoffnungsloser Fall



Zitat von ~HAZ:

ansonsten probiers mit ner vererbung, ist der bessere weg


Der Einsatz von Vererbung sollte wohlüberlegt sein und ist ganz,ganz bestimmt nicht dafür gedacht irgendwelchen Klassen Zugriff auf Attribute und Methoden zu verschaffen.
Für den Anfang ist etwas in dieser Art erstmal ein Weg.


C++:
#include <iostream>

class a
{
  public:
    a(int i=0):wert(i){};
    int holeWert(){return wert;}
  private:
    int wert;
};

class b
{
  public:
     b(a* az=NULL):a_zeiger(az){};
     void setzeZeiger(a* az){a_zeiger=az;}
     void gebe_wert_von_a_aus()const{if(a_zeiger!=NULL)std::cout<<a_zeiger->holeWert()<<std::endl;}
  private:
     a* a_zeiger;
};

int main()
{
  a* zeiger_auf_a = new a(123);
  b b_objekt;
  b_objekt.setzeZeiger(zeiger_auf_a);
  b_objekt.gebe_wert_von_a_aus();
  delete zeiger_auf_a;
  return 0;
}



PS:Man könnte in diesem Beispiel dem b Konstruktor auch direkt den a Zeiger mitgeben anstatt nochmal explizit setzeZeiger aufzurufen.
MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.

Dieser Post wurde am 12.09.2005 um 23:02 Uhr von Spacelord editiert.
 
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: