polymiorphism

wangyuetuan2008 2008-11-04 09:19:58
我现在有一个问题:有 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,也无济于事.不知为什么?
...全文
55 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangyuetuan2008 2008-11-04
  • 打赏
  • 举报
回复
怎么没人响应呢
abstract (关键字) 抽象 ['æbstrækt] access vt.访问,存取 ['ækses]'(n.入口,使用权) algorithm n.算法 ['ælgәriðm] Annotation [java] 代码注释 [ænәu'teiʃәn] anonymous adj.匿名的[ә'nɒnimәs]'(反义:directly adv.直接地,立即[di'rektli, dai'rektli]) apply v.应用,适用 [ә'plai] application n.应用,应用程序 [,æpli'keiʃәn]' (application crash 程序崩溃) arbitrary a.任意的 ['ɑ:bitrәri] argument n.参数;争论,论据 ['ɑ:gjumәnt]'(缩写 args) assert (关键字) 断言 [ә'sә:t] ' (java 1.4 之后成为关键字) associate n.关联(同伴,伙伴) [ә'sәuʃieit] attribute n.属性(品质,特征) [ә'tribju:t] boolean (关键字) 逻辑的, 布尔型 call n.v.调用; 呼叫; [kɒ:l] circumstance n.事件(环境,状况) ['sә:kәmstәns] crash n.崩溃,破碎 [kræʃ] cohesion 内聚,黏聚,结合 [kәu'hi:ʒәn] (a class is designed with a single, well-focoused purpose. 应该不止这点) command n. 命令,指令 [kә'mɑ:nd](指挥, 控制) (command-line 命令行) Comments [java] 文本注释 ['kɒments] compile [java] v.编译 [kәm'pail]' Compilation n.编辑[,kɒmpi'leiʃәn] const (保留字) constant n. 常量, 常数, 恒量 ['kɒnstәnt] continue (关键字) coupling 耦合,联结 ['kʌpliŋ] making sure that classes know about other classes only through their APIs. declare [java] 声明 [di'klєә] default (关键字) 默认值; 缺省值 [di'fɒ:lt] delimiter 定义符; 定界符 Encapsulation[java] 封装 (hiding implementation details) Exception [java] 例外; 异常 [ik'sepʃәn] entry n.登录项, 输入项, 条目['entri] enum (关键字) execute vt.执行 ['eksikju:t] exhibit v.显示, 陈列 [ig'zibit] exist 存在, 发生 [ig'zist] '(SQL关键字 exists) extends (关键字) 继承、扩展 [ik'stend] false (关键字) final (关键字) finally (关键字) fragments 段落; 代码块 ['frægmәnt] FrameWork [java] 结构,框架 ['freimwә:k] Generic [java] 泛型 [dʒi'nerik] goto (保留字) 跳转 heap n.堆 [hi:p] implements (关键字) 实现 ['implim

15,466

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧