看看
TCLP
12章中的例子
class CIval_box
{
public:
virtual int get_value() = 0;
virtual void set_value(int i) = 0;
virtual void reset_value(int i) = 0;
virtual void prompt() = 0;
virtual bool was_changed() const = 0;
virtual ~Ival_box(void)
{
}
};
1.尽量不放置数据成员,进而,没有数据成员,便不需要构造器来初始化数据成员。
2.虚析构,确保在派生类定义的数据能安全的被清理。