C++函数模板和类模板
发布时间:2020-12-16 09:20:04 所属栏目:百科 来源:网络整理
导读:所谓函数化多态性,就是将程序所处理的对象的类型参数化,使得一段程序可以用于处理多种不同类型的对象。 1.函数模板 template class T// 定义函数模板void outputArray(const T * array,int cout){ for (int i=0;icout;i++ ) cout array[i] " " ; cout endl
所谓函数化多态性,就是将程序所处理的对象的类型参数化,使得一段程序可以用于处理多种不同类型的对象。 1.函数模板 template<class T>//定义函数模板 void outputArray(const T* array,int cout){ for(int i=0;i<cout;i++) cout<<array[i]<<" "; cout<<endl; } 2.类模板 使用类模板是用户可以为类定义一种模式,使得类中的默写数据成员、某些成员函数的参数、返回值或局部变量能取任意类型(包括系统定义的和用户自定义的)。 #include<iostream> #include<cstdlib> using namespace std; struct Student{ //结构体 int id; float gpa; }; template<class T> //类模板:实现对任意类型数据进行存取 class Store{ private: T item; boll haveValue; public: store(): T &getElem(); void putElem(const T &x); }; //以下实现各成员函数 template<class T> Store<T>::store():haveValue(false){} template<class T> T &Store<T>:getElem(){ if(!haveValue){ cout<<"NO item present!"<<endl; exit(1);//使程序完全退出,返回到操作系统 } return item; } template<class T> void Store<T>::putElem(const T &x){ haveValue=true; item=x; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |