Problem mit ableitungskonstruktor



  • hiho @all.
    ich habe ein kleines Problem. die base-klasse alleine funktoniert,
    aber wenn ich nen objekt von der ableitung erstellen will spackt er rum. 😞

    #include <iostream>
    using namespace std;
    
    class base
    {
    public:
    	base(int);
    	~base();
    	base();
    };
    
    base::base(int a)
    {cout << "KONST VON BASE\n\n";}
    
    class sub : public base
    {
    public:
    	sub();
    	~sub();
    };
    
    int main()
    {
    	cout << "MAIN\n";
    	base a(4);
    	sub b;
    }
    


  • Bunti schrieb:

    objekt von der ableitung erstellen will spackt er rum. 😞

    Ah, "er spackt rum". Alles klar!

    Ich würde sagen während du die Konstruktoren/Destruktoren implementierst überlege dir einfach mal wie man eine ordentliche Fehlerbeschreibung erstellt...



  • Hallo

    der Konstruktor von sub muß natürlich an base angepaßt sein, z.B. :
    [cpp]sub::sub() : base(1)
    {cout << "KONST VON SUB\n\n";} [/cpp]
    Und wie bereits gesagt die Destruktoren nicht vergessen zu implementieren.
    Und über aussagekräftige Fehlerbeschreibungen nachdenken.

    bis bald
    akari



  • Ich habe ein kleines Problem. die base-klasse alleine funktoniert,
    aber wenn ich nen objekt von der ableitung erstellen will spackt er rum.

    Was will uns der Autor dieser Frage damit wohl sagen. 😕
    Ein Compilerfehler, wahrscheinlich, denn das ganze ist nicht mehr
    als ein Code-Fragment, das nicht mal nährungsweise compiliert wird. 🙄
    Funktionale Fehler, Konstruktor, Ableitung, ... wer weiss, mangels
    funktionierendem und sinnvollem Code nicht feststellbar. Da funktioniert
    nichts, weder mit noch ohne Ableitung. 😮



  • ich wollte damit sagen das er es nicht compiliert. fehlermeldung gibts keine (die man lesen kann).
    hmm. du hast dort 1 übergeben damit klappt es.
    ist das also zwingend das man einen wert übergibt?
    ich dachte dann durchläuft er in der base klasse
    einfach einen standard-konstruktor. also einen der nix macht..

    thx & cu



  • Hallo

    nein, du mußt keinen Basis-Konstruktor angeben bzw. kannst auch den Standard-Konstruktor nehmen. Einfach mal ausprobieren.
    Sollte ein Beispiel sein, weil ich dachte, das du diesen speziellen c'tor aufrufen willst.

    bis bald
    akari



  • kurze frage:
    heisst das, wenn ich in der basis-klasse einen konstruktor habe der einen parameter erwartet, MUSS ich in der ableitung angeben wie er aufgerufen wird!??? "also z.b. sub::sub() : base()" ???

    thx!!


Anmelden zum Antworten