Klasse in Klasse initialisieren

Dieses Thema im Forum "Programmieren allgemein" wurde erstellt von ixs, 20.06.2008.

  1. ixs

    ixs Foren As

    Dabei seit:
    20.06.2008
    Beiträge:
    95
    Zustimmungen:
    0
    Hi Leute,

    könnt Ihr mir bitte helfen folgendes Problem zu lösen?

    ich möchte in einer Klasse eine Klasse haben/initialisieren.
    Normalserweise macht man das ja, indem man
    objekt = Klasse(parameter) löst
    doch eine Klasse darf doch im Header keine Werte haben.
    Code:
    class KlasseA{
     
     int i;
     Klasse Cj;
    
    }
    
    doch wie schaffe ich es eine Initalisierung mit Parametern zu erreichen?

    vielen dank für Eure Hilfe,
    ich weiß diese zu schätzen.
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 Stollentroll, 20.06.2008
    Stollentroll

    Stollentroll Schattenparasit

    Dabei seit:
    11.03.2006
    Beiträge:
    67
    Zustimmungen:
    0
    Sowas macht man im Konstruktor.
     
  4. #3 der_Kay, 20.06.2008
    der_Kay

    der_Kay Doppel-As

    Dabei seit:
    28.02.2006
    Beiträge:
    140
    Zustimmungen:
    0
    ...und eleganterweise innerhalb eines statischen Initialisierers:
    PHP:
    class KlasseC {
    protected:
        
    int _i;
    public:
        
    KlasseC();

        
    KlasseC(int i) : _i(i) {};

        
    KlasseC(const KlasseCkc) : _i(kc._i) {};
    };


    class 
    KlasseA {

    protected:
        
    KlasseC _klasseC;

    public:
        
    KlasseA(int i) : _klasseC(i) {}

        
    KlasseA(const KlasseCkc) : _klasseC(kc) {}
    };
     
  5. #4 Stollentroll, 20.06.2008
    Zuletzt bearbeitet: 20.06.2008
    Stollentroll

    Stollentroll Schattenparasit

    Dabei seit:
    11.03.2006
    Beiträge:
    67
    Zustimmungen:
    0
    Interessehalber: warum?

    Ich würd ja behaupten, dass man sich damit nur Schreibarbeit spart.
    Bin allerdings auch mit Java vorbelastet.

    Edit

    Hmpf, wusst ichs doch, dass ich das schon mal wusste. :D

    Wenn man die Variablen so initialisiert wird ihnen direkt ein Wert zugewiesen.
    Initialisiert man eine Variable im Konstruktor auf diese:
    Code:
    KlasseC(int i)
    {
       _i = i;
    };
    
    Art und Weise, wird erst ein int angelegt und anschließend erst der Wert zugewiesen.
    Man spart sich also einen Schritt.
     
  6. #5 ixs, 20.06.2008
    Zuletzt bearbeitet: 20.06.2008
    ixs

    ixs Foren As

    Dabei seit:
    20.06.2008
    Beiträge:
    95
    Zustimmungen:
    0
    cool vielen dank, ist logisch ! :)

    logischer Weise:

    Code:
        KlasseA(int i) : _klasseC(i) : _klasseF (k) {}
    oder? :think:

    Code:
    KlasseA(int i) : _klasseC(i) {}
    KlasseA(const KlasseC& kc) : _klasseC(kc) {} 
    ioast ein entweder, oder. oder? :))




    _
    .
    .
    .
    EDIT (autom. Beitragszusammenführung) :
    .

    stimmt, ich kann es auch selbst ausprobieren.
    Vielen dank!
     
  7. #6 supersucker, 20.06.2008
    Zuletzt bearbeitet: 20.06.2008
    supersucker

    supersucker Foren Gott

    Dabei seit:
    21.02.2005
    Beiträge:
    3.873
    Zustimmungen:
    0
    @ixs

    Kurzes offtopic:

    Wenn du etwas gescheites lernen (aufgrund deines Postings gehe ich mal davon aus), dann nimm alles, aber bloß nicht diesen inkonsistenten Müll namens C und C++.

    Das hätte schon vor 20 Jahren verboten gehört.

    P.S.:

    Um auch ein paar Beispiele zu nennen, wie man es richtig machen kann: ADA, D und Java.
     
  8. #7 ixs, 20.06.2008
    Zuletzt bearbeitet: 20.06.2008
    ixs

    ixs Foren As

    Dabei seit:
    20.06.2008
    Beiträge:
    95
    Zustimmungen:
    0
    also laut wiki müsste man mit Ada eine nukleare Explosion hin bekommen,
    oder wenigstens ein paar cruise missiles umlenken können, hat irgendwie was, oder? :devil: ;)

    Nee, mal im ernst wie kommt man zu solchen Programmiersprachen? Obwohl sie was interessantes haben.

    ...

    Misst jetzt hast du mich ein wenig hört sich irgendwie interessant an was über ada erzählt wird. Wenn es häufig in Sicherheitssystemen verwendet wird, spricht das schon mal für Qualität.
    Nur Java find ich Sch.. .
     
  9. #8 supersucker, 20.06.2008
    Zuletzt bearbeitet: 20.06.2008
    supersucker

    supersucker Foren Gott

    Dabei seit:
    21.02.2005
    Beiträge:
    3.873
    Zustimmungen:
    0
    Na, wir wollen uns doch hier an sachliche Argumente halten, richtig?

    Java ist eine der wenigen sauber durchkonzipierten Sprachen, genauso wie ADA.

    Das Problem ist halt, das die meisten Leute denken "C ist so verbreitet, das kann ja nicht schlecht sein".

    Nur nach der Denkschiene wäre ja auch die Bild-Zeitung die beste Zeitung Deutschlands.....

    P.S.: Bevor mir jetzt hier selber Unsachlichkeit vom geneigten Querleser unterstellt wird ("inkonsistenter Müll"), hier mal - auch wenn völlig offtopic jetzt - eine mehr als nur lesenswerte Seite von jemandem, der sich mit C lange beschäftigt hat und mal all diese Inkonsistenzen fachlich zerlegt:

    -> http://users.informatik.uni-halle.de/~thielema/CHater.html
     
  10. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  11. ixs

    ixs Foren As

    Dabei seit:
    20.06.2008
    Beiträge:
    95
    Zustimmungen:
    0
    Ja, aber wie kommt man zu ada?! frag ich mich
     
  12. #10 supersucker, 23.06.2008
    supersucker

    supersucker Foren Gott

    Dabei seit:
    21.02.2005
    Beiträge:
    3.873
    Zustimmungen:
    0
    In dem man eines der zahlreichen Tutorials im Netz durchmacht oder sich ein Buch kauft?
     
Thema:

Klasse in Klasse initialisieren

Die Seite wird geladen...

Klasse in Klasse initialisieren - Ähnliche Themen

  1. Mozilla sieht Firefox OS auch auf Geräten der Oberklasse

    Mozilla sieht Firefox OS auch auf Geräten der Oberklasse: Am Rande einer Mobilfunk-Konferenz in Peking gab der Senior-Vizepräsident von Mozillas Mobilsparte, Li Gong, einen Ausblick auf die Pläne mit...
  2. python; Script sendet jabber Nachrichten. Als XMPP Klasse nicht

    python; Script sendet jabber Nachrichten. Als XMPP Klasse nicht: Hallo Forum, ich habe folgendes Ausgangsscript: import xmpp username = 'd****' passwd = 'a********' to='d****@x****.**' msg='hello :)' client...
  3. Mysql Zeichenklasse

    Mysql Zeichenklasse: Hallo Ich möchte mir alle Datensätze anzeigen lassen die folgenden Namen haben: name.02% name.03% name.04% Ich probiere dieses Statement,...
  4. Array in einer Klasse

    Array in einer Klasse: Hallo! Ich geb's ja zu. Ich bin ein totaler Noob was OO C++ angeht. Wenn ich nun eine Klasse habe, die ein Array enthält. Etwa so: class...
  5. Klasse System//Abfrage der Eingabe

    Klasse System//Abfrage der Eingabe: Guten Tag! Ich möchte gerne die Eingaben des users abfangen. Eine Beispielanwendung wäre zum Beispiel eine Klasse Taschenrechner, welcher 2...