Можно ли использовать частные статические переменные для установки инвариантов в вашем классе?Частные статические переменные для установления инвариантов
Ex:
class MovingObject
{
public:
//...Stuff
private:
// Invariants
static const double VELOCITY; // Moving objects always move at this velocity
// etc. for any other invariants
//...
}
---------------------------------------------------------------------------------
#include "MovingObject.h"
// Invariants
const double MovingObject::VELOCITY = 256.5;
//etc.
Интересная статья по теме. http://www.stanford.edu/~pgbovine/programming-with-rep-invariants.htm – Anonymous
Просто быстрое предложение - не делайте свои постоянные имена заглавными. По соглашению в C и C++ все символы верхнего регистра, как правило, используются для макросов препроцессора. Практически любой серьезный разработчик C & C++, который я знаю, потратил бесчисленные часы, пытаясь отследить проблему компиляции, вызванную препроцессором, управляющим прописным символом C++. –