电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

VisualC++泛型编程实践VIP免费

VisualC++泛型编程实践_第1页
1/13
VisualC++泛型编程实践_第2页
2/13
VisualC++泛型编程实践_第3页
3/13
Visual C++泛型编程实践 泛型程序设计(Generic Programming) 是建立在 C++的 Template 机制基础上的一种完全不同于面向对象的程序设计思维模式,STL 是泛型概念的一套实作产品。Loki 是一个与Boost 齐名的开放源码的 C++程序库,它通过一些精巧的装置为常规 C++开发提供了一些很有用的工具。STL 非常好用,弹性非常大,效率也很理想。目前几种主流的 C++编译器均有相关的 STL 实现,而个人认为目前非常流行的 Visualc++ 6.0 平台中开发文档应用程序时,其文档序列化的功能非常好用,但由于其序列化能力建立在 MFC 之上,并不被 STL支持,所以,如何既拥有 STL 的效率及通用性,又保留 MFC 的序列化能力,便成了 VisualC++ 6.0 平台上运用 STL 技术开发文档应用程序时不得不面对的一个问题,在这里我就以非常流行的 Visual C++ 6.0+SP5 平台结合一个假定的例子来介绍一下如何在 Visual C++6.0 中结合使用 STL、Loki 及模板技术来开发一个文档应用的开发历程,希望能对大家有所启发。 示例 先来简单介绍一下我所用到的例子:一个简单的商务进销存基本应用(不必关注细节),它应该包含:职员(Employee)、产品(Product)、仓库(Storage)、往来单位(Supply)、帐户(Account)、单据(Bill)等等,由于每种信息均应有唯一标识,所以我在这里选用 STL 中的map 来表示如下(为了说明简单起见,我们只列两种): std::map<size,Employee*> itsEmployees; //职员表 std::map<size,Product*> itsProducts; //产品表 .. 第一步:实现 我们将以上 map 放入多(单)文档应用程序的文档类中,很显然,我们必须对每一个表至少提供以下三种最基本的操作:添加新成员函数、删除指定成员函数、获取指定成员函数。 对于添加新成员,我们可以实现如下: size addAccountMember(Account* e); //添加帐户 { //获取下一个可用的ID 号 size id=getNextAccountID(); itsAccounts[id]=e; returnid; } size addEmployeeMember(Employee* e);//添加职员 { //获取下一个可用的ID 号 size id=getNextEmployeeID(); itsEmployees[id]=e; return id; } .. 接下来的删除方法仅有一个 size(唯一标识)参数,实现如下: void delAccount(size ID); //删除指定帐户 { itsAccounts.erase(ID); } void delEmployee(size ID); //删除指定职员 { itsEmployees.erase(ID); } .. 获取指...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

VisualC++泛型编程实践

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部