szyk.H
- 3823
- 1137
- Klaudia Woś
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
- « Konfigurowanie środowiska programistycznego Python Virtualenv na Debian Linux
- Naucz się podstaw powłoki ZSH »