假设我有
Base.h
class Base
{
virtual void foo() {...}
};
Derived1.h
class Derived1 : public Base
{
virtual void foo() {...}
};
Derived2.h
class Derived2 : public Base
{
virtual void foo() {...}
};
头Derived1.h
文件包含在多个源文件中,Derived1
类也通过Base
接口使用。由于foo
isvirtual
和 is usedpolymorphic
它不能被内联。所以它会被编译成多个obj
文件。那么链接器如何解决这种情况呢?