- 1、本文档共79页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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)