-OOP限定-プログラム ..
232:デフォルトの名無しさん
07/07/04 07:05:40
C++で書いてます。クライアントクラスの管理をしたいのですが、
管理されるクライアントクラスはnewで動的に生成されるという物です。
また、マルチスレッド環境での使用も考えています。
class client{
client_management *cmgmt_;
public:
client( client_management *cmgmt ):cmgmt_( cmgmt ){
cmgmt_->add( this ); // 排他処理はcmgmt内で
}
void haandle(){
//クライアントとの通信とか、いくつかの処理
//処理終了で、クライアントと切断後、
cmgmt_->remove( this );
delete this;
}
};
これをserver側で
class server{
client_management cmgmt_;
void listen(){
socket sock = accept();//clientクラスのオブジェクトを返す
new client( &cmgmt_ );
}
};
こんな設計しか思い浮かばなかったのですが、特に
new client( &cmgmt_ )の部分とかdelete thisな部分が嫌な感じがします。
よりベストな設計を伺いたいです。よろしくお願いします。
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4984日前に更新/83 KB
担当:undef