こんな感じ?
派生クラスのdoProcessで状態別の違いを吸収。

class StateBase {
  int val1, val2, val3, val4;
public:
  virtual doProcess() = 0;
};

class StateA : public StateBase{ public: doProcess(){ 実装}:};
class StateB : public StateBase{ public: doProcess(){ 実装}:};
class StateC : public StateBase{ public: doProcess(){ 実装}: };