34. Проектирование системы обработки особых ситуаций. Базовые и расширенные гарантии.

Базовый класс особой ситуации

class MathErr {
private:
    char *msgErr = nullptr;
public:
    MathErr (char *msg) {
        msgErr = msg;
    }
    virtual void virtualFunction ();
};

Производные (расширяемые) классы для каждой особой ситуации

class OverFlow: public MathErr {
public:
    OverFlow(char *msg) : MathErr (char *msg) {}
    void virtualFunction () {
        ...
    }
};

class UnderFlow: public MathErr {
public:
    UnderFlow(char *msg) : MathErr (char *msg) {}
    void virtualFunction () {
        ...
    }
};

class ZeroDivide: public MMathErr {
public:
    ZeroDivide(char *msg) : MathErr (char *msg) {}
    void virtualFunction () {
        ...
    }
};

results matching ""

    No results matching ""