您的位置:首页 > 编程语言 > C语言/C++

C++泛型编程基础

2016-03-26 15:39 225 查看
泛型编程技术支持程序员创建函数和类的蓝图(即模板,template),而不是具体的函数和类。

定义模板:template <type>

1.函数模板

template <class T>
void foo(T param)
{
//do something
}


T代表一种不确定的数据类型。

example:

template <class T>
void swap(T &a,T &b)
{
T tmp = a;
a = b;
b = tmp;
}


2.类模板

(1)类的声明

template <class T>
class MyClass
{
MyClass();
void swap(T &a,T &b);
}


(2)构造器的实现

template <class T>
MyClass<T>::MyClass()
{
//Initalize the attributes here.
}


注意:构造器模板里的类型的名字不需要与在类声明里使用的那个保持一致,也可以这样:

template <class U>
MyClass<U>::MyClass()
{
//Initalize the attributes here.
}


3.容器和算法

能容纳两个或更多个值的数据结构通常称为容器。
创建一个特定类型的向量 vector

std::vector<type> vectorName;
.....


来源:《写给大家看的C++书》
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: