C++相談室 part17
■ このスレッドは過去ログ倉庫に格納されています
0482478
NGNGこんな感じのものを作ってみました。
Factoryクラスがオブジェクトを管理しています。
クライアントがcreateメソッドを呼び出すと、
指定したインスタンスが得られます。
ifの羅列になってしまうのですが・・・
class Factory{
private:
std::list<Object*> m_obj_list;
public:
Object* create(const type_info& a_type){
Object* nobj;
if(a_type == typeid(Integer)){
nobj = (Object*)new Integer;
}else if(a_type == typeid(Symbol)){
nobj = (Object*)new Symbol;
}else{
throw new UExceptionNotSupportType;
}
m_obj_list.push_back(nobj);
return nobj;
}
}
■ このスレッドは過去ログ倉庫に格納されています