|
|
Um molde funciona
|
Os moldes da fun��o de C++ s�o as fun��es que podem segurar tipos de dados diferentes sem alguns c�digo separado para todos os datatypes. Para a opera��o similar em diversos tipos dos tipos de dados, o programador pode n�o necessitar escrever as vers�es diferentes sobrecarregar da fun��o. A fun��o baseada molde de C++ � bastante, ele tomar� cuidado de todos os tipos de dados.
|
Deixar-nos cosider um exemplo pequeno para a fun��o da adi��o. Se a exig�ncia for usar a fun��o da adi��o a ambos os tipos que � um inteiro e tipo do flutuador, a seguir os dois funcionam necessidades ser criado para cada tipo de dados.
|
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
|
|
Se os tipos de dados forem mais de dois ent�o ele s�o dif�ceis de ser segurado, porque aqueles muitos n�mero das fun��es devem ser adicionada.
Se n�s empregarmos o molde da fun��o de c++, o processo inteiro estar� reduzido ao �nico molde da fun��o de c++. Est� aqui o fragmento do c�digo para a fun��o da adi��o.
|
template <class T>
T Add(T a, T b)
//C++ function template sample
{
return a+b;
}
|
|
The Class Templates
|
Os moldes da classe da A.A. ++ s�o usados onde n�s temos as c�pias m�ltiplas do c�digo para os tipos de dados diferentes que t�m a mesma l�gica. Se o jogo das fun��es ou as classes tiverem uma mesma funcionalidade para os tipos de dados diferentes, assentar� bem nos candidatos bons que est�o sendo escritos como os moldes.
|
A obriga��o da declara��o do molde da classe da A.A. ++ come�a com o keyword �molde�. O par�metro deve ser inclu�do dentro dos suportes angulares. O par�metro dentro do os suportes angulares, pode ser a classe do keyword ou o typename. Isto � seguido ent�o por uma declara��o do corpo da classe com uns dados do membro e as fun��es do membro. O c�digo seguindo � a declara��o para a classe da fila da amostra.
|
//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
|