polymiorphism
我现在有一个问题:有 A,B两DLL, A通过隐式调用加载B库中导出的类CBase, 这样在A库中就可以通过Base类来创建一个object,假设叫cBaseObj, 那么就可以通过此对象cSimBase来调用其内部接口.对不对?, 好,我现在想在B库中写一个类CSub,这个类是继承CBase的,采用与父类同样的导出方式, 目的是在A库中,能像父类对象cBaseObj一样,可以
创建子类CSub对象,假设叫cSubObj.最终在A库中有父, 子存在,我也就要吧实现多态了.
问题来了, 子类对象创建不成功, 当我在A库中定义: CSub cSubObj ;时,compile会告诉我,找不到CSub类, 我好奇怪.我照着葫芦画瓢, 没画成气, 让同事帮我看看,也没弄好.
所以还请你帮帮忙咯.
B库中有父, 子的.cpp 文件, 它们的.h文件并不在B库中,而是在另一folder 中,比如Include ,public等文件夹
如: CBase是CSimulator, CSub类是CLB5XSimulator.
父类: class AFX_CLASS_EXPORT CSimulator{......};
子类: #include "simulator.h"
#ifndef _CLASS_EXPORT //compiler parameter
#define CLASS __declspec(dllexport)
#else
#define CLASS __declspec(dllimport)
#endif
class CLASS CLB5XSimulator : public CSimulator{.......};
A 库中:
CSimulator g_Sim; //ok
CLB5XSimulator g_LB5xSim; //error : missing ';' before identifier 'g_LB5XKernel'
显然是没找到子类,我包含了相应的.h,也无济于事.不知为什么?