我正在开发一个使用类继承并且在基类和派生类中都需要大量重载的项目,我已经简化了代码,但我不想不必要地复制和粘贴,因为这应该是继承的用途。
#include <iostream>
class Base
{
public:
Base() = default;
//base const char* overload
void foo(const char* message)
{
std::cout << message << std::endl;
}
//other overloads ...
};
class Derived : public Base
{
public:
Derived() = default;
//derived int overload
void foo(int number)
{
std::cout << number << std::endl;
}
};
int main()
{
Derived b;
b.foo(10); //derived overload works
b.foo("hi"); //causes error, acts as if not being inherited from Base class
return 0;
}