可能重复:
为什么 C++ 不允许基类实现派生类的继承接口?
#include <iostream>
class Interface
{
public:
virtual void yell(void) = 0;
};
class Implementation
{
public:
void yell(void)
{
std::cout << "hello world!" << std::endl;
}
};
class Test: private Implementation, public Interface
{
public:
using Implementation::yell;
};
int main (void)
{
Test t;
t.yell();
}
我希望根据Test
来实现该类Implementation
,并且我想避免编写
void Test::yell(void) { Implementation::yell(); }
方法。为什么不能这样做?C ++ 03还有其他方法吗?