第13章模板题材.pptVIP

  1. 1、本文档共79页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五次作业;第五次作业;Account;int main() { Account a = Account(100.00); SavingAccount sa = SavingAccount(1000.00, 0.03); CheckingAccount ca = CheckingAccount(3000.00, 100.00); a.credit(100.00); cout a.getBalance() endl; a.debit(50.00); cout a.getBalance() endl; sa.credit(1000.00); cout sa.getBalance() endl; sa.calculateInterest(); sa.debit(1000); cout sa.getBalance() endl; ca.credit(10.00); cout ca.getBalance() endl; ca.debit(1000.00); cout ca.getBalance() endl; return 0;};Account;class Account { protected: double balance; public: Account(double i); double getBalance(); void credit(double i); void debit(double i); };;第13章 泛型机制—模板;模板的用途;函数模板的回顾;T;函数模板的定义;power函数的template版本;Template函数的调用方法;函数模板包含了两步:;例子:; int类型数组的实例函数如下所示: ??? void printArray( const int *array, const int count ) ??? { ???? for (int i = 0; i count; i++ ) ????????????? cout array [ i ] ; ?????? cout endl;??? } 模板函数中的每一个形式参数要在函数参数表中至少出现一次。形式参数的名字可以只在模板函数的形式参数表中出现一次。同一个形式参数名可用于多个模板函数。;函数模板的实例化-----模板函数 ???若程序实例化int数组a、double数组b和char数组c,长度分别为5,7,6。 然后调用printArray打印每个数组。 用a的第一个参数,类型为int*;printArray(a,aCount); 使编译器实例化printArray模板函数,类型参数T为int。 用b的第一个参数,类型为double*; printArray(b,bCount); 使编译器实例化第二个pfintArry模板函数,类型参数T为double。 用c的第一个参数,类型为char*。 printArray(c,cCount); 使编译器实例化第三个printArray模板函数,类型参数T为char。 ;类也存在这种问题;类模板;类模板的定义 类模板的实例化 模板的编译 非类型形参和参数的默认值 类模板的友元 类模板作为基类 ;类模板的定义; template class T class 类模板名 { //对类模板的定义 };类模板实例;template class T class Array { int low; int high; T *storage; public: Array(int lh = 0, int rh = 0): low(lh), high(rh) {storage = new T [high - low + 1]; } Array(const Array arr); Array operator=(const Array a); T operator[](int index); ~Array() {delete [] storage; } };;类模板的成员函数的定义 ;template class T class Array { int low; int high; T *storage; public: Array(int lh = 0, int rh = 0): low

文档评论(0)

1112111 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档