Vererbung



  • rumcajs007 schrieb:

    ...
    string wäre natürlich besser aber ich wollte erstmal ohne. ...

    Mach ich beim Klettern auch so: Erstmal ohne Seil den K2 hoch, bevor ich meine Mutter auf dem Mühlenhügel besuche...

    Gruß,

    Simon2.



  • 😕


  • Administrator

    rumcajs007 schrieb:

    😕

    LoL. Ich bin mal etwas netter:
    1. Es sind wohl sicher schon 3, womöglich mehr Witze hier drin gefallen.
    2. Rück mal den Code richtig ein. Also deinen Post editieren und den Code "richtig" einrücken. Zumindest so, dass er lesbar wird.
    3. Gib doch endlich die Fehlermeldung an, damit wir dir auch helfen können. 😃
    4. Falls dich irgendwann noch jemand nach dem Alter fragt, keine Auskunft geben! 😉

    Grüssli



  • hi erst ma

    also ich kann dir leider auf dein problem mit der vererbung in c++ nicht antworten da ich es noch nicht durchgenommen habe aber zu deinem programmierstil der ist echt schlimm ^^ schau ma versuchs mal so z.B.

    cube.h

    #include <iostream>
    #include <string>
    
    #ifndef _CUBE_H
    #define	_CUBE_H
    
    class Qube
    {
    protected:
        int a, b, c;
    public:
        Qube(int ap, int bp, int cp);
        void info();
        int surface();
        ~Qube();
    };
    
    #endif	/* _CUBE_H */
    

    cube.cpp

    #include "qube.h"
    
    Qube::Qube(int ap, int bp, int cp) :
            a(ap),
            b(bp),
            c(cp)
    {
    }
    
    void Qube::info()
    {
        std::cout << "int a: " << a << std::endl;
        std::cout << "int b: " << b << std::endl;
        std::cout << "int c: " << c << std::endl;
    }
    
    int Qube::surface()
    {
        return a*b*c;
    }
    
    Qube::~Qube()
    {
    }
    

    main.cpp

    #include <iostream>
    #include "qube.h"
    
    int main() 
    {
    
        Qube q(5, 5, 5);
    
        q.info();
    
        std::cout << "Volumen: " << q.surface() << std::endl;
    
        system("PAUSE");
        return 0;
    }
    

    mach das selbe wie deine hauptklasse von der du erben willst, nur das man meinen code besser lesen kann im gegensatz zu deinem xD deswegen will dir auch niemand helfen ...



  • autsch !

    int Qube::surface()
    {
        return a*b*c;
    }
    

    mein mathelehrer würde dich erschlagen 😃

    nadann:

    #include <iostream>
    /*  */
    class Cube
    {
    public:
        Cube(int, int, int);
        virtual ~Cube();       // virtueller dtor
        virtual void info();
        int surface();
    protected:
        int a, b, c;
    };
    Cube::Cube(int a1, int b1, int c1)
    {
        a=a1;
        b=b1;
        c=c1;
    }
    Cube::~Cube()
    {}
    void Cube::info()
    {
        cout << "a=" << a << " b=" << b << " c=" << c ;
    }
    int Cube::surface()   //   <------ oberfläche ?!?
    {
        return a*b*c;     //   <------ volumen ?!?
    }
    
    class ColorCube : public Cube
    {
    public:
        ColorCube(int, int, int, char[]);
        virtual ~ColorCube();
        virtual void info();
    protected:
        std::string color;
    };
    ColorCube::ColorCube(int a3, int b3, int c3, char farbe[]) :
        Qube::Qube(a3,b3,c3)
    {
        strcpy(color,farbe);
    }
    ColorCube::~ColorCube()
    {}
    void ColorCube::info()
    {
        Cube::info();
        cout << "Farbe ist " << color;
    }
    
    int main() // int !!
    {
        Cube *first = new ColorCube(10, 20, 30, "Rot");
    
        first->info();
    
        delete first;
        cin.get();
    }
    

    sieht das nicht gleich viel besser aus ?

    guck mal auf der tastatur:

    -da ist unten in der mitte so eine große taste, damit macht man leerzeichen
    -in der mitte ist eine große taste, die macht dir eine neue zeile

    und beide tasten möchte gerne gedrückt werden

    ➡ EINRÜCKEN !!

    mfg helferlein



  • autsch !
    C/C++ Code:
    int Qube::surface()
    {
    return a*b*c;
    }
    C/C++ Code:
    int Qube::surface()
    {
    return a*b*c;
    }
    C/C++ Code:
    int Qube::surface()
    {
    return a*b*c;
    }

    mein mathelehrer würde dich erschlagen 😃

    klar aber das bsp. war auf seinen quellcode bezogen ... 🙂



  • ja, aber auch das autsch war auf den originalcode bezogen 🙂



  • LOL hab diese antwortmail mal rausgegraben.... 🙂

    deswegen will mir niemand helfen LÖL 😃

    haha...
    zum glück bin ich selber weitergekommen 🕶

    für die nachwelt, eure codes waren tausend mal besser zu lesen und überhaupt.

    das eigentliche problemchen war ja dass ich bei der vererbung den konstruktor der mutterklasse nicht 'erreichen' konnte. will jetzt hier kein neues code posten aber nur darauf hinwesen dass man bei dem konstruktor der abgeleiteten klasse mit : ':' den konstruktor der mutterklasse ansprechen bzw. fülen kann.

    das wollte ich eigentlich nuuur wissen 😋

    gruss an alle comedy fans 🤡

    ich wusste bin bei spezialisten 😮



  • Du darfst die Leute net falsch verstehen, aber sie haben Recht. Stell dir vor deine Klasse soll noch von jemand anderem verwendet werden, der würde dich meucheln wenn du ihm sowas in die Hände geben würdest.



  • Du darfst die Leute net falsch verstehen, aber sie haben Recht. Stell dir vor deine Klasse soll noch von jemand anderem verwendet werden, der würde dich meucheln wenn du ihm sowas in die Hände geben würdest.



  • ja ok, tut mir leid an die nachwelt.

    man solte frohsein es gibt überhaupt son forum was ich doch recht mag :p

    ...zurück zur abeit.


Anmelden zum Antworten