我想我的问题很简单但我找不到任何解决方案:
我可以在静态库中重新定义类的成员函数吗?
实施例
我的图书馆看起来像这样:
Library.h
namespace mynamespace
{
class A
{
public: void randomfunction();
}
}
Library.cpp
namespace mynamespace
{
void A::randomfunction(){
std::cout << "Random output!" << std::endl;
}
}
我使用此库的程序:
的main.cpp
using namespace mynamespace;
void A::randomfunction(){
std::cout << "Super fancy output!" << std::endl;
}
int main(int argc, char* argv[])
{
A a;
a.randomfunction();
system("pause");
return 0;
}
包括库工作正常,如果我不重写该函数我的程序编译并正常工作。 问题是我需要大多数程序的正常版本,但有时我需要它做其他的东西,我不能使用继承,因为我在这个库中有其他类引用这个类,我也不想使其他类通用,因为即使我不想覆盖函数,我总是必须使用继承:/