#include <iostream>

using namespace std;

class Modulo {
public:
    Modulo();       // WARNING! is it really necessary?
    Modulo(int n);

    static const int modulus;
    int number;     // WARNING! can be abused, how to fix it?
};

const int Modulo::modulus = 7;

Modulo::Modulo() {
    this->number = 0;
}

Modulo::Modulo(int n) {
    this->number = n % this->modulus;
}

int main() {
    Modulo m(5), n(6), k;

    m.number = 9;     // This should be forbidden.

//    k = m + n;
    
    return 0;    
}
