szyk.H

szyk.H

Ten mały przykładowy program C ++ pokazuje użycie szablonów w obrębie C++. W tym przykładzie „tablica klasy szablonów” może utworzyć instancję dowolnego rodzaju tablic za pomocą funkcji jednego konstruktora i pojedynczego elementu SetArray.

Takie zachowanie można również wykonać poprzez przeciążenie funkcji Konstruktorów i SetArray. Jednak w takim przypadku programista musiałby osobno napisać deklarację funkcji członka i definicję dla każdego typu tablicy.

Ten przykładowy program tworzy trzy różne typy tablic Int, Float i Char z pojedynczym konstruktorem funkcją członka za pomocą szablonu typu T -TypeName T.

szyk.H

#ifndef array_h_
#definicja array_h_
#włączać
Używanie std :: cout;
Używanie std :: endl;
#włączać
używając STD :: setw;
#włączać
// Zdefiniuj tablicę CLAS typu T
// Typ nie jest jeszcze znany i będzie
// można zdefiniować przez instancję
// obiektu tablicy klasowej z Main
szablon< typename T > tablica klasy
prywatny:
int rozmiar;
T *myarray;
publiczny:
// konstruktor z wcześniej określonym rozmiarem użytkownika
tablica (int s)
Rozmiar = s;
myarray = new t [rozmiar];

// CALSS Array Member Funkcja ustawienia elementu MyArray
// z wartościami typu T
void setArray (int elem, t val)
myarray [elem] = val;

// dla pętli, aby wyświetlić wszystkie elementy tablicy
void getArray ()
for (int j = 0; j < size; j++ )
// TypeID pobiera typ dla każdej wartości
Cout << setw( 7 ) << j << setw( 13 ) << myarray[ j ]
<< " type: " << typeid(myarray[ j ]).name() << endl;

Cout << "-----------------------------" << endl;

;
#endif


główny.CPP

#include "tablica.H"
int main ()

// instanuj obiekt int_aRray tablicy klas z rozmiarem 2
szyk< int > int_array (2);
// Ustaw wartość na pierwszy element
// Zadzwoń do funkcji członka klasy tablicy, aby ustawić elementy tablicy
int_array.SetArray (0,3);
// Ustaw wartość na drugi element
//
int_array.Setarray (1,3.4);
// Zadzwoń do funkcji członka klasy tablicy, aby wyświetlić elementy tablicy
int_array.getArray ();
// instant Float_Array obiekt tablicy klasowej z rozmiarem 3
szyk< float > float_array (3);
// Ustaw wartość na pierwszy element
// Zadzwoń do funkcji członka klasy tablicy, aby ustawić elementy tablicy
float_array.SetArray (0,3.4);
// Ustaw wartość na drugi element
float_array.Setarray (1,2.8);
// Zadzwoń do funkcji członka klasy tablicy, aby wyświetlić elementy tablicy
float_array.getArray ();
// instant float_array obiekt tablicy klasowej o rozmiarze 5
szyk< char > Char_Array (5);
// Ustaw wartość na pierwszy element
// Zadzwoń do funkcji członka klasy tablicy, aby ustawić elementy tablicy
Char_Array.setArray (0, „h”);
// Ustaw wartość na inne elementy tablicy
Char_Array.Setarray (1, „e”);
Char_Array.Setarray (2, „L”);
Char_Array.Setarray (3, „L”);
Char_Array.Setarray (4, „o”);
Char_Array.getArray ();
powrót 0;

Skompilować

G ++ Main.cpp -o myarray

Wyjście

$ ./MyArray
0 3 Typ: i
1 3 Typ: i
-----------------------------
0 3.4 Typ: F
1 2.8 Typ: F
2 0 Typ: F
-----------------------------
0 H Typ: C
1 Typ: C
2 L Typ: C
3 L Typ: C
4 O Typ: C
-----------------------------

Powiązane samouczki Linux:

  • Rzeczy do zainstalowania na Ubuntu 20.04
  • Zagnieżdżone pętle w skryptach Bash
  • Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
  • Mastering Bash Script Loops
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
  • Samouczek debugowania GDB dla początkujących
  • Jak zbudować aplikację Tkinter za pomocą obiektu zorientowanego na…
  • Ubuntu 20.04 sztuczki i rzeczy, których możesz nie wiedzieć
  • Jak pracować z WooCommerce Rest API z Pythonem
  • Rzeczy do zainstalowania na Ubuntu 22.04