转载自:
http://blog.163.com/tianjunqiang666@126/blog/static/8725911920121064573594/
首先需要强调,当使用某个类时一般目的有二:实例化成对象或者继承它产生新类。
对于前者,我们可以构造一个抽象类(java里的接口)来连接调用方和DLL。
// Interface.h
公共文件/ 公共接口
// Interface.cpp
被调用方文件
//
注意下面的代码并不是实现 Interface 类,而是因为联系紧密才写在这。
将真正要调用的类声明成抽象类 Interface 的派生类:
// Test.cpp
被调用方文件
//
类的实现
调用方调用DLL时动态加载:
此时需要注意两点:
1.我们需要把Interface.h放在UseDLL工程目录下
2.如果编译时出现:无法将参数 1 从“const char [14]”转换为“LPCWSTR”的错误,则我们需要
点击项目属性,常规-》字符集-》改为“未设置”即可
实际上整个项目的方法是Interface完成了接口的设置,而具体的实现在test中进行,真正使用了类的抽象性和多态性,封闭性。
项目下载路径:http://7xs15g.com1.z0.glb.clouddn.com/Interface.zip
转自:http://blog.youkuaiyun.com/xiamentingtao/article/details/51052925