我想知道的是:如果有一个基类,那么在 C++ 中,每个 * 其他类都继承自一个好主意。基本上,它和 C# 的 Object 具有相同的接口,即:
*除了直接接口和数据结构
class Object
{
public:
virtual ~Object() {}
virtual std::string toString() const = 0;
virtual Object* copy() const = 0;
virtual void release() = 0;
private:
// This operator overload calls toString() to print it out to the stream.
friend std::ostream& operator<<(std::ostream& output, const Object& object);
};
这是一件好事吗,或者如果我希望将类复制或转换为字符串,我最好只制作单独的接口。
例如
class Copyable
{
public:
virtual ~Copyable() {}
virtual Copyable* copy() const = 0;
};
我完全不确定这一点,而且它让我很头疼。:(