bZGL Konstruktor



  • Bei Funktionsaufrufen tust Du keine Typen reinschreiben.
    Gell, haste vor 2 Wochen mal probiert. Ging schief. Endlos lange Suche.
    Bei Funktionsdefinitionen tuste den Typ doch nur reinschreiben (bei Deklararationen auch, egal hier).
    Beim Aufruf nur die Werte selber. Schreibst ja c=sin(5) und nicht c=sin(int 5)

    Bei Konstruktoraufrufen auch nicht!
    Selbes Phänomen.

    Und schau Dir mein Beispiel nochmal genau an.



  • SeppJ schrieb:

    Da man hier nicht um eine Initialisierungsliste herum kommt, kann man doch auch gleich den ganzen Weg gehen:

    Lkw(double zuladung, double laenge, double motorleistung, bool klimaanlage)
          :Auto(laenge,motorleistung,klimaanlage), m_zuladung(zuladung) 
    {
      // Hierhin, was immer sonst noch gemacht werden muss (meistens ist das gar nix!)
    }
    

    Gerne. Aber fürchte, Du hast ihn damit kaputtgemacht. Da ist ja nur noch Zeichenmüll, geht irgenwie, warum weiß keiner. Eins nach dem anderen.



  • nICK88 schrieb:

    Leider Funktioniert das nicht

    Doch, das funktioniert.

    Nur hast du dir nicht die Mühe gemacht, mal nachzuschauen wie das funktioniert mit den Initialisierungslisten. Andernfalls wüsstest du nämlich schon, dass das was du da fabriziert hast, für Laien zwar so ähnlich aussehen mag wie das, was volkard und SeppJ geschrieben haben (Doppelpunkte, Klammern, das Wort double...), aber mit der Syntax von Initialisierungslisten so rein garnichts mehr zu tun hat. Schau doch einfach mal im Netz oder im Buch deiner Wahl, da solltest du die Informationen finden, um das richtig umzusetzen. Falls es trotzdem Probleme gibt, stell entsprechend spezifische Fragen 🙂



  • LKW::LKW(int nAnzahlAchsen,int nAnhaenger, double nlaengeMeter):
    AnzahlAchsen(nAnzahlAchsen),Anhaenger(nAnhaenger),LaengeMeter(nlaengeMeter)
    :KFZ(nModellname, nTyp, nTankgr,nVerbrauch100Km,nTankinhalt,nKmStand,nGewicht){}
    

    es geht mir um den Doppelpunkt vor dem kfz... das dahinter ist ohne Datentyp.



  • was bitte ist das den nun für ein Schwachsinn==?? es wurde nicht um sonst ein neues Thema geöffnet ... hier kann keiner den Vorgang verfolgen.



  • MisterBasisklasse schrieb:

    was bitte ist das den nun für ein Schwachsinn==?? es wurde nicht um sonst ein neues Thema geöffnet ... hier kann keiner den Vorgang verfolgen.

    Andersrum. Es kann keiner den Vorgang verfolgen, weil Du des Thema zerhackst.



  • Was hat das Thema mit meinem Thema zu tun?



  • Ich würde hier auch zumachen.
    Ich wittere Hausübungen.



  • Ich mag auch nichts mehr von Lkws und Pkws lesen, vor allem unter 5 verschiedenen Pseudonymen in 10 verschiedenen Threads. Da ich heute in die nächste Stufe aufgestiegen bin, möchte ich mir diese Meinungsmache einmal erlauben! 🙂



  • LKW und KFZ, nicht LKW und PKW. 😉
    Wobei das sowieso eine sinnfreie Vererbung ist, gibt es eigentlich keine Lehrbücher, wo man Sachen vererbt, die man auch später wirklich vererbt? (Klingt irgendwie komisch...)



  • Hier geht es weder um eine Hausarbeit noch um sonstige Arbeiten ... es dient letztendlich zum lernen....

    Leider weis ich nicht was daran falsch sein sollte ich habe die Kfz mit Header KFZ.cpp und main ausgeführt alles hat funktioniert sobald ich dann eine Header eine cpp von lkw mache und in der Header den Kfz include ... kann ich nichtmals einen lkw mit seinen werten ausgeben... das erscheint mir etwas komisch und ich verstehe es auch nicht.



  • Richtig.

    Wie wir von Wurstbrot und Supermarkt wissen müsste der Passagier von KFZ erben, damit der Passagier auch rumfahren kann.



  • es werden auch keinerlei Fehler angezeigt vor dem kompilieren.

    1>LKW.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: __thiscall KFZ::KFZ(void)" (??0KFZ@@QAE@XZ)" in Funktion ""public: __thiscall LKW::LKW(int,int,double)" (??0LKW@@QAE@HHN@Z)".
    1>c:\users\grhei_000\documents\visual studio 2010\Projects\KFZ\Debug\KFZ.exe : fatal error LNK1120: 1 nicht aufgelöste externe Verweise.
    ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========

    ich verstehe auch nicht was daran so schwer ist einfach mal eine kompetente Antwort zu geben ohne 1000 mal Drumherum zu diskutieren... wie im Kindergarten.



  • der Lkw erbt ja auch von KFZ......
    und nicht anders rum wenn die Aktuellen Meldungen immer verschoben werden kann ich dafür mnichts.



  • MisterBasisklasse schrieb:

    es werden auch keinerlei Fehler angezeigt vor dem kompilieren.

    1>LKW.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: __thiscall KFZ::KFZ(void)" (??0KFZ@@QAE@XZ)" in Funktion ""public: __thiscall LKW::LKW(int,int,double)" (??0LKW@@QAE@HHN@Z)".
    1>c:\users\grhei_000\documents\visual studio 2010\Projects\KFZ\Debug\KFZ.exe : fatal error LNK1120: 1 nicht aufgelöste externe Verweise.
    ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========

    ich verstehe auch nicht was daran so schwer ist einfach mal eine kompetente Antwort zu geben ohne 1000 mal Drumherum zu diskutieren... wie im Kindergarten.

    Das hat der Compiler doch schon getan: "Verweis auf nicht aufgelöstes externes Symbol".

    Du musst den Konstruktor halt definieren wenn du ihn verwenden willst.
    Falls du "definieren" nicht verstehst: du musst den Code hinschreiben was der halt tun soll.



  • @hustbaer:
    Und um Mehrfachvererbung einzuführen erbt ein Bus von Passagier und KFZ, denn sonst hat er ja keine Fahrgäste. ^^

    @topic:
    Und es wäre auch klug, wenn du den BasisklassenKtor-Aufruf vernünftig einbaust...



  • Ist er nicht===????

    KFZ::KFZ(char* nHersteller, char* nTyp,int nTankgr,double nVerbrauch100Km,double nTankinhalt,double nKmStand,double nGewicht):
        Hersteller(nHersteller),Typ(nTyp),Tankgr(nTankgr), Verbrauch100Km(nVerbrauch100Km), Tankinhalt(nTankinhalt), KmStand(nKmStand), Gewicht(nGewicht) {}
    


  • Nathan schrieb:

    [...] BasisklassenKtor-Aufruf [...]



  • Ich frag mich eben wieso geht das ganze wenn ich Lkw h und lkw cpp ausblende

    obwohl genau das selbe drin ist wie bei der Kfz ....wieso kann er also kein Kfz und ein lkw ausgeben???



  • ??? 😕
    Was willst du uns damit sagen?


Anmelden zum Antworten