仅使用一个函数实现类

时间:2011-12-18 03:14:19

标签: c++ inheritance

我有一组来自网络的回复。有些类使用函数foo,而有些类使用bar。我想的是只有一个类在foo和bar中设置变量。然后继承那些只有函数foo和bar函数的类,而不必经常定义这些类中的函数。例如。

class Foo {
public:
    Foo():
        foo_(std::string()) {}
    virtual ~Foo(){}
    const std::string& foo() const { return foo_; }
private:
    std::string foo_;
};

class FooReply:
    public Foo {
public:
    FooReply(){}
    explicit FooReply(const std::string& reply):
        setFoo(reply) {
    }
    FooReply(const FooReply& other):
        Foo(other) {
    }
    ~FooReply(){}
    FooReply& operator=(const FooReply& other) {
        Foo::operator=(other);
        return *this;
    }
};

这样做会更好吗,还是我应该让它们成为一个接口并重新实现foo()函数?因为我只继承了一个函数。

0 个答案:

没有答案