Neustart C++



  • Hacker schrieb:

    Ahh! Musst du, weil #include nur Zeichen für Zeichen eine Datei an die Stelle Kopiert. Und damit wird sozusagen auch deine b.cpp verändert. Also: Wenn ein Header modifiziert wird, müssen alle ihn inkludierenden Sources recompiliert werden.

    Ich dachte, header *.h = schnittstelle, *.cpp = implementierung? Oder ist das nie so genau getrennt? Und wenn ich den header unveraendert lasse und nur die implementierung (in der .cpp) aendere, dann aendert das ja auch nicht direkt was an meinem Source?!

    Hacker schrieb:

    Der Punkt ist jetzt, dass ich die Klasse nicht sehen kann, da ich das Buch nicht habe...

    ist nicht viel Tipparbeit:

    class Stack {
        char* v;
        int top;
        int max_size;
    public:
        class Underflow {};
        class Overflow {};
        class Bad_size {};
    
        Stack(int a);
        ~Stack();
    
        void push(char c);
        char pop();
    }
    
    Stack::Stack(int s) {
    ...
    }
    
    Stack::~Stack() {
    ....
    }
    
    void Stack::push(char c) {
        if (top ++ max_size) throw Overflow();
        v[top] =c:
        top = top + 1;
    }
    
    char Stack::pop() {
        if (top == 0) throw Underflow();
        top = top - 1;
        return v[top];
    }
    

Anmelden zum Antworten