254 :
デフォルトの名無しさん:
最近C++を始めたばかりです。
・ある物の状態を監視
・その状態を表示
といった単純な事がやりたいのですが、その状態を表すクラスを↓のように定義して
class Status{
public:
Status() : dat(0){};
virtual ~Status(){};
void set(int i) { dat=i; }
int is() { return(dat); }
private:
int dat;
};
メイン関数では↓のように作りました。
Status st;
// 監視側
if(ある物の状態==true){
st.set(1);
}
// 表示側
if(st.is()==1){
表示;
}
が、これだと表示側からもdat.set()が呼べてしまうので危険です。
現状ではfriendを使ってやってるのすが、すっきりしません。
こういう場合、普通は(オブジェクト指向的に?)どのように作るものなのでしょうか?