Modelo em c ++

Modelo em c ++
Em C ++, os modelos são recursos poderosos. Ele nos permite escrever algum tipo especial de programas. Isso significa que podemos criar uma única função ou classe única com diferentes tipos de dados são usados ​​com a ajuda de modelos.

Características do modelo

  1. Modelo é uma palavra -chave em c++.
  2. Um modelo é usado para definir modelo de função e modelo de classe.
  3. Modelo é um procedimento para fazer nossas funções ou classes generalizam no que diz respeito ao tipo de dados.

Classificação de modelos

Existem dois tipos de modelos disponíveis em C++.

  1. Modelo de função
  2. Modelo de aula.

a. Exemplo de programação 1 do modelo de função

#incluir
usando namespace std;
Void Add (int x, int y)

cout<< “ Sum is :\n ”<< x+y << endl ;

int main ()

add (10, 15);
Adicione (10.50, 10.25);

Saída

Explicação
Do programa acima, saberemos que o modelo precisa neste tipo específico de programa.

Aqui, simplesmente definimos uma função de add e dois valores inteiros são passados ​​como um argumento. Simplesmente imprime a soma dessas duas variáveis.

Dentro da função principal, chamamos a função Adicionar e passamos dois valores 10 e 15. Simplesmente adiciona esses dois valores e obtemos os valores 25.

Mas na segunda função Adicionar quando passamos dois valores de tipo duplo 10.50 e 10.25, então o problema ocorre no resultado da soma. Porque aqui, passamos dois tipos duplos de valores dentro das variáveis ​​inteiras. Como resultado, é mostrado resultado incorreto.

Para resolver esse problema, apresentamos modelo.

b. Exemplo de programação 2 do modelo de função

#incluir
usando namespace std;
modelo // Modelo de função Apresentando
C add (c x, c y)

cout<< “ sum is :\n”<< x+y << endl ;

int main ()

soma (10, 15);
soma (10.50, 10.25);

Saída

Explicação
Onde definimos Adicionar função, escrevemos o modelo de palavra -chave. Então, no suporte angular, escrevemos a classe -chave da classe. Em seguida, escreva um suporte de lugar chamado C. Depois disso, dentro da função Adicionar, onde escrevemos o tipo de dados inteiro, todos esses inteiros são substituídos pelo suporte do local C. Este suporte C será substituído pelo tipo de dados adequado quando passarmos os valores dentro da função da soma.

Quando passamos 10 e 15, C é substituído pelos valores inteiros, mas no segundo caso, quando passamos dois valores de tipo duplo 1.50 e 10.25, então C será substituído pelos tipos de dados duplos. É a vantagem de usar o modelo no programa.

c. Exemplo de programação 3 do modelo de classe

#incluir
usando namespace std;
Exemplo de classe

privado :
int x, y;
público:
Exemplo (int a, int b)

x = a;
y = b;

teste vazio ()

Se (x> y)

cout<< x<< “ is the largest number ”<< endl ;

outro

cout<< y<< “ is the largest number ”<< endl ;


;
int main ()

Exemplo OB1 (10, 15);
OB1.teste () ;
Exemplo OB2 (10.50, 10.25)
ob2.teste() ;
retornar 0;

Saída

Explicação
Aqui, declaramos uma aula chamada exemplo. Na classe, chamamos o exemplo do construtor e passamos duas variáveis ​​do tipo inteiro para atribuir o valor da variável x e y. A função de teste nos mostra qual valor é o maior.

Dentro da função principal, quando passamos dois valores 10 e 15 durante a criação do objeto ob, mostra o resultado correto.

Mas no próximo caso, quando passamos dois valores de tipo de dados duplos dentro das variáveis ​​do tipo inteiro, ele mostra o resultado errado.

Para resolver esse problema novamente, apresentamos o modelo no próximo programa.

d. Exemplo de programação 4 do modelo de classe

#incluir
usando namespace std;
modelo
Exemplo de classe

privado :
C x, y;
público:
Exemplo (c a, c b)

x = a;
y = b;

teste vazio ()

Se (x> y)

cout<< x<< “ is the largest number ”<< endl ;

outro

cout<< y<< “ is the largest number ”<< endl ;


;
int main ()

Exemplo OB1 (10, 15);
OB1.teste() ;
Exemplo OB2 (10.50, 10.25);
ob2.teste() ;
retornar 0;

Saída

Explicação
Antes da definição de classe de exemplo, escrevemos uma linha:

Modelo < class C >

Como discutimos anteriormente, o modelo é uma palavra -chave. Então, dentro do suporte angular, escrevemos a classe de palavra -chave, depois um suporte de local chamado C.

Depois disso, todo tipo de dados inteiro deve ser substituído por C.

Quando passamos dois tipos inteiros valores 10 e 15, C é substituído pelas variáveis ​​inteiras. No próximo caso, quando passarmos dois valores duplos 10.50 e 10.25, então C é substituído pelo tipo de dados duplo.

A vantagem é que, para o tipo de dados diferente, não escrevemos código diferente.

Conclusão

Discutindo em detalhes sobre o conceito de modelo, fica claro que, ao criar um modelo, podemos trabalhar com diferentes tipos de dados em um único programa ou em um programa Generalize.