面向对象的程序设计chapter.pptVIP

  • 1
  • 0
  • 约4.19千字
  • 约 30页
  • 2017-07-17 发布于四川
  • 举报
面向对象的程序设计chapter

第7章 模板 主要内容 参数多态性和模板 类模板 函数模板 7.1 参数多态性和模板 参数多态性 问题引入 在程序设计中往往存在这样的现象: 两个或多个函数(或过程)的函数体完全相同。 它们的参数类型和函数返回类型不同。 例如: 7.1 参数多态性和模板 参数多态性 能否为上述这些函数只写出一套代码呢? 解决这个问题的常规方法是使用宏定义。 例如: #define max(x, y) ((xy)? x :y) 7.1 参数多态性和模板 参数多态性 宏定义带来的问题之一 可能在不该替换的地方进行了替换。 例如: class exa{ public: int max(int, int); //此处宏扩展将导致语法错误 //… }; 7.1 参数多态性和模板 参数多态性 两种解决方法 把类的数据类型定义为一个抽象的、需根据具体问题要求确定的数据类型。 把类的数据类型定义为一个参数。即类的参数多态性。 方法1举例: 例7.1 设计一个适合于float类型和double类型的复数类。 7.1 参数多态性和模板 7.1 参数多态性和模板 7.1 参数多态性和模板 方法1的缺点 当一个外部程序中,如果同时存在几种不同的数据类型要求时,则这种通用类不能满足需要。 7.1 参数多态性和模板 模板(template) 模板概念 它可以实现类型参数化,即把函数或类中的数据类型定义为参

文档评论(0)

1亿VIP精品文档

相关文档