项目划分为Model,IDAL,IBLL,DAL,BLL,WebUI,数据库为SQL　Server,数据访问使用EntityFramework5.0,使用了简单工厂,...　(1)IMath　*　CreateInstance(　){　return　new　CImpMath1;}其中,返回new　CImpMath1和IMath　*　应该如何理解?(2)　IMath　*　piMath　=　CreateInstance(　);　int　nAdd　=　piMath->Add(　100,　100　);其中,　IMath　*　piMath　=　CreateInstance(　);CreateInstance的返回值到底是什么类型的?谢谢完整代码如下:#include　"stdafx.h"#include　"objbase.h"//接口定义interface　IMath{public:　virtual　int　Add(　int　nAdd1,　int　nAdd2　)　=　0;//纯虚函数　virtual　int　Sub(　int　nSub1,　int　nSub2　)　=　0;//纯虚函数};//接口的实现1class　CImpMath1　:　public　IMath{public:　virtual　int　Add(　int　nAdd1,　int　nAdd2　);　virtual　int　Sub(　int　nSub1,　int　nSub2　);};int　CImpMath1::Add(　int　nAdd1,　int　nAdd2　){　return　(　nAdd1　+　nAdd2　);}int　CImpMath1::Sub(　int　nSub1,　int　nSub2　){　return　(　nSub1　-　nSub2　);}//接口的实现2class　CImpMath2　:　public　IMath{public:　virtual　int　Add(　int　nAdd1,　int　nAdd2　);　virtual　int　Sub(　int　nSub1,　int　nSub2　);};int　CImpMath2::Add(　int　nAdd1,　int　nAdd2　){　return　(　nAdd1　+　nAdd2　);}int　CImpMath2::Sub(　int　nSub1,　int　nSub2　){　return　(　nSub1　-　nSub2　);}//创建接口IMath　*　CreateInstance(　){　return　new　CImpMath1;}int　main(int　argc,　char*　argv[])　//main可以看做用户{　IMath　*　piMath　=　CreateInstance(　);　int　nAdd　=　piMath->Add(　100,　100　);　printf("%d\n",nAdd);　return　0;}　我需要调用别人给的一个DLL　,　hDll　=　::LoadLibrary(AAAA);　if　(hDll　==　NULL)　{　TraceOut(L"加載庫文件失敗!");　return;　}　lp　MFC+ADO数据库编程时,需要用到COM中的组件CreateInstance,　大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。