第九章0522 程序设计课件.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第九章0522 程序设计课件

# include //using namespace std; template T max T a, int b ; double max double a, int b ; void main int i1, i2, i3; double d1, d2, d3; i1 3, i2 9; d1 6.7, i3 10; d2 8.4, d3 7.8; std::cout max i1,d3 std::endl; std::cout max d1,i3 std::endl; std::cout max d2,d3 std::endl; double max double a, int b std::cout double max double, int :; return a b? a:b; template T max T a, int b std::cout template max:; return a b? a:b; void inflate int increase ; int operator[] int index const; 9.5.2 类模板 函数模板、类模板如果希望被多个程序文件(.cpp)使用,则应在头文件中定义类模板(包括成员函数定义)和函数模板。并在使用类模板或函数模板的程序文件中包含该头文件。因为模板在例化时,需要知道类模板和函数模板的完整定义。 9.5.2 类模板 带非类型参数的类模板: template class T, int size class Stack T buffer[size]; int top; public: Stack top -1; bool push const T x ; bool pop T x ; ; template class T,int size bool Stack T,size ::push const T x ...... template class T, int size bool Stack T,size ::pop T x ...... ...... Stack int,100 st1; //st1为元素个数最多为100的int型栈 Stack int,200 st2; //st2为元素个数最多为200的int型栈 9.5.2 类模板 类模板做函数参数 函数的形参类型可以是模板类 或模板类的引用 对应的实参应该是 该类模板实例化的模板类对象 9.5.2 类模板 #include template class Test T i; public: void set T ii i ii; void display cout The value of i is: i endl; ; template Void fun Test test test.display ; int main Test testa; Test testb; testa.set 2 ; testb.set c ; fun testa ; fun testb ; return 0; 模板类 做函数参数 类模板 9.5.2 类模板 类模板与继承 一个类模板在类层次结构中充当的角色: 类模板可以是基类 类模板可以是派生类 类模板可以从模板类派生 类模板可以从非模板类派生 模板类可以从类模板派生 非模板类可以从类模板派生 9.5.2 类模板 示例:从类模板Array 派生一个类模板BoundArray template class Array public : Array ; virtual ~ Array ; virtual T Entry int index const ; virtual void Enter int index, const T value ; protected : T * element ; ; template class BoundArray : public Array public : BoundArray ; virtual T Entry int index const ; virtual void Enter int index , const T value ; ; 结束 #include using namespace std; class point //声明类point public: point float x 0, flo

文档评论(0)

5500046 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档