C++模板初阶 | 您所在的位置:网站首页 › 十六型人格功能排序表 › C++模板初阶 |
文章目录
1.泛型编程1.1模板格式
2.函数模板的使用2.1模板的本质2.2不同类型模板使用
3 类模板3.1类模板的格式
1.泛型编程
再介绍泛型编程前我们先来看下面这段代码 int min(int a, int b) { return a return a cout return a cout public: A(int a = 0) : _a(a) { cout A aa(10), bb(12); min(aa, bb); }当我们运行时发现并不能运行,这是因为直接调用的话可以看到是运行不了的,是因为在比较大小的时候,编译器并不知道类类型到底要怎么进行 < 的比较,. 为了让编译器能够知道怎样进行比较,这时候我们就需要进行重载。我们对 > 进行重载 重载如下,这个const是因为要进行类型的匹配,定义模板的时候类型是const template T1 min(T1& a, T2& b) { return a //cout //cout public: Vector(size_t capacity = 10) : _pData(new T[capacity]) , _size(0) , _capacity(capacity) {} // 使用析构函数演示:在类中声明,在类外定义。 ~Vector(); T& operator[](size_t pos) { assert(pos return left + right; } template t* Alloc(int n) { return new t[n]; } int main() { int a1 = 12, a2 = 22; double b1 = 12.0, b2 = 45.6; //这里传递过去的参数一致编译器可以推导出实例化 cout |
CopyRight 2018-2019 实验室设备网 版权所有 |