variedade.h

variedade.h

Este pequeno programa de exemplo C ++ demonstra um uso de modelos dentro de C++. Neste exemplo, "Model Class Array" pode instanciar qualquer tipo de matriz com um único construtor e uma única função de membro do SetArray.

Esse comportamento também pode ser feito sobrecarregando uma função de construtores e membros do SetArray. No entanto, nesse caso, um programador precisaria escrever uma declaração e definição de função de membro para cada tipo de matriz separadamente.

Este exemplo de programa instancia três tipos diferentes de matriz Int, Float e Char com um único construtor uma função de membro com o uso do modelo t de Typename T.

variedade.h

#ifndef Array_h_
#Define Array_H_
#incluir
usando std :: cout;
usando std :: endl;
#incluir
usando std :: setw;
#incluir
// Defina uma matriz CLAS do tipo T
// O tipo ainda não é conhecido
// ser definido por instanciação
// de objeto de classe matriz de main
modelo< typename T > classe Array
privado:
Int tamanho;
T *Myarray;
público:
// construtor com tamanho predefinido do usuário
Array (int s)
tamanho = s;
myArray = novo t [tamanho];

// Função do membro da matriz Calss para definir o elemento de MyArray
// com valores do tipo T
Void SetArray (int elem, T val)
myarray [elem] = val;

// para o loop exibir todos os elementos de uma matriz
void getArray ()
for (int j = 0; j < size; j++ )
// typeId recuperará um tipo para cada valor
cout << setw( 7 ) << j << setw( 13 ) << myarray[ j ]
<< " type: " << typeid(myarray[ j ]).name() << endl;

cout << "-----------------------------" << endl;

;
#fim se


principal.cpp

#include "Array.h "
int main ()

// Instanciar o objeto int_array da classe com tamanho 2
variedade< int > int_array (2);
// Defina o valor para um primeiro elemento
// Ligue para a função de membro da classe de matriz para definir elementos de matriz
int_array.SetArray (0,3);
// Defina o valor para um segundo elemento
// Nota: Qualquer tentativa de definir flutuação para uma matriz int será traduzida para int Value
int_array.SetArray (1,3.4);
// Ligue para a função de membro da classe de matriz para exibir elementos de matriz
int_array.getArray ();
// instanciar o objeto Float_array da classe com tamanho 3
variedade< float > float_array (3);
// Defina o valor para um primeiro elemento
// Ligue para a função de membro da classe de matriz para definir elementos de matriz
float_array.SetArray (0,3.4);
// Defina o valor para um segundo elemento
float_array.SetArray (1,2.8);
// Ligue para a função de membro da classe de matriz para exibir elementos de matriz
float_array.getArray ();
// Instanciado Float_array Objeto da Classe Array com tamanho 5
variedade< char > char_array (5);
// Defina o valor para um primeiro elemento
// Ligue para a função de membro da classe de matriz para definir elementos de matriz
char_array.SetArray (0, 'H');
// Defina o valor para outros elementos da matriz
char_array.SetArray (1, 'e');
char_array.SetArray (2, 'L');
char_array.SetArray (3, 'L');
char_array.SetArray (4, 'O');
char_array.getArray ();
retornar 0;

Compilar

G ++ Main.CPP -O MyArray

Saída

$ ./Myarray
0 3 Tipo: I
1 3 Tipo: I
-----------------------------
0 3.4 Tipo: F
1 2.8 Tipo: F
2 0 Tipo: F
-----------------------------
0 H Tipo: C
1 E tipo: C
2 L Tipo: C
3 L Tipo: C
4 o tipo: C
-----------------------------

Tutoriais do Linux relacionados:

  • Coisas para instalar no Ubuntu 20.04
  • Loops aninhados em scripts de basquete
  • Uma introdução à automação, ferramentas e técnicas do Linux
  • Mastering Bash Script Loops
  • Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
  • Tutorial de depuração do GDB para iniciantes
  • Como construir um aplicativo Tknter usando um objeto orientado…
  • Ubuntu 20.04 truques e coisas que você pode não saber
  • Como trabalhar com a API de Rest WooCommerce com Python
  • Coisas para instalar no Ubuntu 22.04