|
|
Un calibre fonctionne
|
Les calibres de fonction de C++ sont les fonctions qui peuvent manipuler diff�rents types de donn�es sans rien code s�par� pour tous les datatypes. Pour l'op�ration semblable sur les multiples genres de types de donn�es, le programmeur peut ne pas avoir besoin d'�crire les diff�rentes versions par la surcharge de fonction. La fonction bas�e par calibre de C++ est assez, il prendra soin de tous les types de donn�es.
|
Nous laisser cosider un petit exemple pour la fonction d'ajouter. Si la condition est d'employer la fonction d'ajouter aux deux types qui est un nombre entier et type de flotteur, alors les deux fonctionne les besoins d'�tre cr�� pour chaque type de donn�es.
|
int Add(int a,int b)
{
return a+b;
}
// function Without C++ template
float Add(float a, float b)
{
return a+b;
}
// function Without C++ template
|
|
Si les types de donn�es sont plus de deux alors il est difficile � �tre manipul�, puisque ces beaucoup nombre de fonctions doivent �tre ajout�s. Si nous nous servons du calibre de fonction de c++, le processus entier sera r�duit au calibre simple de fonction de c++. Voici le fragment de code pour la fonction d'ajouter.
|
template <class T>
T Add(T a, T b)
//C++ function template sample
{
return a+b;
}
|
|
Les calibres de classe
|
Des calibres de classe de C.A. ++ sont employ�s o� nous avons les copies multiples du code pour les diff�rents types de donn�es ayant la m�me logique. Si l'ensemble de fonctions ou les classes ont une m�me fonctionnalit� pour les diff�rents types de donn�es, ils iront bien aux bons candidats �tant �crits comme calibres.
|
La n�cessit� de d�claration de calibre de classe de C.A. ++ commence par le mot-cl� � calibre �. Le param�tre doit �tre inclus � l'int�rieur des parenth�ses angulaires. Le param�tre � l'int�rieur de l'les parenth�ses angulaires, peut �tre la classe de mot-cl� ou le typename. Ceci est alors suivi d'une d�claration de corps de classe avec des donn�es de membre et les fonctions de membre. Le code suivant est la d�claration pour la classe de file d'attente t�moin.
|
//Sample code snippet for C++ Class Template
template <typename T>
class MyQueue
{
std::vector data;
public:
void Add(T const &d);
void Remove();
void Print();
};
|
|
|
|
Keywords CPP Templates, c++ templates, windows templates, c# templates, cpp reference,
python templates, gcc templates, cpp classes, java templates, cpp tutorial,
stl templates, function templates, vector templates, free templates, cpp programming,
functions cpp, library templates, cpp c++, cpp vector, cpp stl, cpp compiler,
string cpp, cpp exe, cpp define, header templates, window templates, reference templates,
programming templates, link templates, windows cpp
|