class Uncopyable{ protected: //允许drived对象构造和析构 Uncopyable(){} ~Uncopyable(){}//此函数不用为virtual private: Uncopyable(const Uncopyable&); Uncopyable& operator=(const Uncopyable&); }; class HomeForSale : private Uncopyable{//私有继承 //class不在声明copy构造函数或者copy assign操作符 }; //为驳回编译器提供的机能,可将相应的成员函数声明成private并且不予实现,使用像uncopyable这样的base class也是一种做法