Инвариант класса — это логическое условие, которое должно всегда быть истинным для объекта класса. Обычно проверяется и поддерживается в конструкторах и методах класса.

class Rational {
    int numerator;
    int denominator;
    void checkInvariant() {
        assert(denominator != 0); // Инвариант: знаменатель не должен быть нулём
    }
public:
    Rational(int n, int d) : numerator(n), denominator(d) {
        checkInvariant();
    }
    void setDenominator(int d) {
        denominator = d;
        checkInvariant();
    }
};