Мне было интересно, есть ли подходящий шаблон проектирования.
моя ситуация выглядит примерно так:
class CMove {
public:
void SetSpeed(float fSpeed) { m_fSpeed = fSpeed; }
void update() { /* do somthing with fSpeed */}
float m_fSpeed;
};
Class CSomeEvent_1 {
void OnEvent() { m_Move.SetSpeed(10.f);}
CMove m_Move;
};
Class CSomeCallBack_1 {
void OnCallback() { m_Move.SetSpeed(20.f);}
CMove m_Move;
};
, когда шаг обновления CMove, если CMove m_fspeed получил неправильную переменную,не хочупоэтому я хочу узнать, какой объект установил его как ложное.но существует много разных ролей существующих экземпляров, у которых есть класс CMove membervariable.
на первый простой путь это
void SetSpeed(float fSpeed, char* file, int line) { // do log where's calling from }
m_Move.SetSpeed(10.f, __FILE__, __LINE__);
я думаю, что это кровать
я хочупошлите, как показано ниже
void SetSpeed(SendObject pObj, float fSpeed) { m_latestSettingObj = pObj; m_fSpeed = fSpeed; }
есть ли подходящий шаблон дизайна?
или любая помощь будет полезна
спасибо.bonhyoung