版本2和3间的区别
于2006-06-26 20:07:51修订的的版本2
大小: 95
编辑: czk
备注:
于2006-12-20 22:06:28修订的的版本3
大小: 661
编辑: czk
备注:
删除的内容标记成这样。 加入的内容标记成这样。
行号 4: 行号 4:
模板是C++最有特色的语法,也是最复杂的语法。它将类型看作一种参数来进行编程。
行号 5: 行号 7:
写一个max,求两个东西中较大的一个。
{{{#!cplusplus
int max(int a, int b) {
    return a>b?a:b;
}

double max(double a, double b) {
    return a>b?a:b;
}

string max(string a, string b) {
    return a>b?a:b;
}
}}}
它们的算法都是类似的,只是参与运算的对象的类型不同。我们可以把类型定义成一个参数:
{{{#!cplusplus
template<class T>
T max(T a, T b) {
    return a>b?a:b;
}
}}}

C++模板

模板是C++最有特色的语法,也是最复杂的语法。它将类型看作一种参数来进行编程。

1. 模板函数

写一个max,求两个东西中较大的一个。

   1 int max(int a, int b) {
   2     return a>b?a:b;
   3 }
   4 
   5 double max(double a, double b) {
   6     return a>b?a:b;
   7 }
   8 
   9 string max(string a, string b) {
  10     return a>b?a:b;
  11 }

它们的算法都是类似的,只是参与运算的对象的类型不同。我们可以把类型定义成一个参数:

   1 template<class T>
   2 T max(T a, T b) {
   3     return a>b?a:b;
   4 }

2. 模板类

C++模板 (2008-05-08 15:46:29由czk编辑)

ch3n2k.com | Copyright (c) 2004-2020 czk.