|
|
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
|