1.
将多个操作的共同部分提取出来,在基类中完成。剩余的不用操作 利用虚函数的特性,在继承中完成。
class base {
public:
virtual void do_something();
void draw { do_something(); }
vector<int> base_value;
};
class function1 {
virtual void do_something() {...}
};
//使用
base *b = new function1;
b->draw;
2. 类型转换
template<class T> T locateObject(Ice::Int category, Ice::Long id) {
return T::dynamicCast(_cache->locateObject(category, id));
}