网站建设资讯

NEWS

网站建设资讯

C++基础-模板

模板(不深挖哦,是最最浅的)

基本概念

模板就是建立通用的模具,大大提高复用性(类型参数化)

创新互联专注于中大型企业的成都网站建设、网站设计和网站改版、网站营销服务,追求商业策划与数据分析、创意艺术与技术开发的融合,累计客户1000+,服务满意度达97%。帮助广大客户顺利对接上互联网浪潮,准确优选出符合自己需要的互联网运用,我们将一直专注成都品牌网站建设和互联网程序开发,在前进的路上,与客户一起成长!

  • 模板不能直接使用,它是一个框架
  • 模板的通用不是万能的

函数模板

  • C++另一种编程思想为泛型编程,主要是利用模板技术

语法

template
//声明模板
函数声明或定义
  • template:声明创建模板
  • typename:表示T是一种数据类型
  • T:一个数据类型的名字

例子

#include
using namespace std;
void swapInt(int &a,int &b){ //普通的整型交换
	int c;
	c = a;
	a = b;
	b = c;
}

template    //模板-整型交换
void mySwap(T &a,T &b){
	T temp;
	temp = a;
	a = b;
	b =temp;
}

void test01(){
	int a = 10;
	int b = 20;
	//两种方法来使用函数模板
    
	//1.自动类型推导
	mySwap(a,b);
    cout << a << b << endl;
    cout << "=====================" << endl;
	//2.显式指定类型
	mySwap(a,b);
	cout << a << b << endl;
}

int main(){
	test01();
	return 0;
}

类模板

建立一个通用类,类中的成员 数据类型可以不具体规定,用一个虚拟的类型来代表

语法

template

例子

#include
#include
using namespace std; 

template
                 // 类型一            类型二
class Person{
	friend void test01();
private:
	NameType m_Name;
     //类型一 类型一的对象
	AgeType m_Age;
     //类型二 类型二的对象
public:
	Person(NameType name,AgeType age){
		m_Name = name;
		m_Age = age;
	}
};

void test01(){
	Personp("Tom",18);  //指明类型一是string;类型二是int
	cout << p.m_Name << '\t' << p.m_Age << endl;
}

int main(int argc, char** argv) {
	test01();	
	return 0;
} 

文章名称:C++基础-模板
当前路径:http://cdweb.net/article/dsoipjg.html