Ableitungsprobleme



  • Ich habe folgendes Problem:

    Builde ich mein Projekt, so sagt der Compiler :
    "error C2504: 'CManager' : base class undefined"

    Ich habe bereits alles versucht den Fehler zu beheben, schaffe es aber nicht.
    Ich versuche hier auch zum ersten mal Klassen abzuleiten.

    Es gibt außer dem unteren noch 2 andere Klassen in denen ich Schalter benutzt habe und sie von public CManager abgeleitet habe.

    Der Fehler wird in der Datei headerb.h angezeigt.

    Ich habe unten den Code in dem, so denke ich, der Fehler steckt. Der Rest des Projekts wäre zu lang.

    in ManagerH.h steht:

    #ifndef _CM_
    #define _CM_
    #include <headerb.h>
    #include <iostream>
    #include <cstdlib>
    #include <stdlib.h>
    #include <windows.h>
    #include <cmath>
    using namespace std;

    class CManager
    {
    public:

    void manager()
    {
    manage();
    }

    CManager();
    ~CManager();

    private:
    int f,g,ausw;
    void manage();
    void intro();
    void menu();
    void aufrufen();
    virtual void berechnen() {}
    };

    #endif

    ---------------------------------------------------------------------------------------------------------------------

    in headerb.h steht :

    #ifndef _CB_
    #define _CB_

    #include <ManagerH.h>

    class Cberechnen : public CManager
    {
    public:

    Cberechnen()
    {
    e = 1;
    }

    protected:

    void berechnen()
    {
    anfang();
    }

    private:

    int e;
    double a,b,d;
    char c;

    void anfang();
    void berechnen2();
    void plus();
    void minus();
    void mal();
    void geteilt();
    void quadrat();
    void wurzel();
    void aus_u_ein();

    };

    #endif
    ------------------------------------------------------
    HILFE 😞



  • Deine beiden Header inkludieren sich gegenseitig. Das sieht grundsätzlich erst mal sehr komisch aus.
    In Deinem konkreten Fall führt das dazu, daß die abgeleitete Klasse im Quelltext VOR der Basisklasse deklariert wird, und das geht denn nicht.



  • Belli schrieb:

    Deine beiden Header inkludieren sich gegenseitig. Das sieht grundsätzlich erst mal sehr komisch aus.
    In Deinem konkreten Fall führt das dazu, daß die abgeleitete Klasse im Quelltext VOR der Basisklasse deklariert wird, und das geht denn nicht.

    Danke, das löst mein Problem.



  • Bitte nächstes Mal [cpp]-Tags verwenden, um Code übersichtlich darzustellen.


Anmelden zum Antworten