我有一组来自网络的回复。有些类使用函数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()函数?因为我只继承了一个函数。