c++ 虚拟new操作符(创建抽象基类对象的拷贝)

基类定义如下:
class Query{
public:
  virtual Query *clone() = 0;
};
派生类定义如下:
class NameQuery : public Query
{
  public:
    virtual Query *clone()
    {
      return new NameQuery(*this);
    }
};

Query *pq = new NameQuery();
Query *pq1 = pq->clone();//获取抽象基类的“拷贝”
posted @ 2011-10-25 13:47  韩冬冬  阅读(250)  评论(0编辑  收藏  举报