1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| //基本类 class Font { private: //unique object key string key; //object state //.... public: Font(const string& key){ //... } }; ß
//建立一个工厂 class FontFactory{ private: map<string,Font* > fontPool; public: Font* GetFont(const string& key){
map<string,Font*>::iterator item=fontPool.find(key); if(item!=footPool.end()){ return fontPool[key]; } else{ Font* font = new Font(key); fontPool[key]= font; return font; }
} void clear(){ //... } };
|
Gitalking ...