#include <memory>
class X
{
public:
virtual void f() = 0;
virtual void g() = 0;
virtual ~X() { printf("~X\n");}
};
class X_impl: public X
{
private:
X_impl(){};
public:
~X_impl()
{
printf("~X_impl\n");
};
virtual void f()
{
printf("X_impl.f()\n");
}
virtual void g()
{
printf("X_impl.g()\n");
}
private:
friend std::auto_ptr<X> createX();
};
std::auto_ptr<X> createX()
{
std::auto_ptr<X> px(new X_impl);
return px;
}
原文链接: https://www.cnblogs.com/cdfyanghua/archive/2012/05/24/2516913.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/51033
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!