Čo je Vector of Objects C++

Co Je Vector Of Objects C



Ako začiatočník v C++ môžete počuť výraz „ vektor objektov “. Nemáte však správne pochopenie toho, čo tento výraz znamená a ako by sa dal použiť v programe C++.

Ak ste ten, kto hľadá návod na vektor objektov v C++ postupujte podľa pokynov v tomto článku.

Čo je to vektor objektov v C++

V C++, a vektor objektov je dátová štruktúra, ktorá umožňuje užívateľom ukladať množinu súvisiacich objektov alebo dátových typov. Funguje podobne ako bežné pole a ponúka používateľom výhodu meniteľnej veľkosti, čo znamená, že môže rásť alebo zmenšovať podľa potrieb programu. Táto funkcia je užitočná najmä pri práci s veľkými množinami údajov rôznych veľkostí.







Ako vytvoriť vektor objektov v C++

Zdá sa, že vektor objektov triedy je príkladom takéhoto vlastného vektora, v ktorom je možné uložiť viacero inštancií triedy.



Nasledujúci program C++ vytvorí vektor objektov triedy.



#include
#include
#include
použitím menný priestor std ;
int rand_Integer ( int X, int a )
{
vrátiť ( X + rand ( ) % a ) ;
}
reťazec rand_String ( int lenivý1 )
{
reťazec str1 ;
pre ( int i = 0 ; i < lenivý1 ; i ++ ) {
char ch = 'A' + rand ( ) % 26 ;
str1. push_back ( ch ) ;
}
vrátiť str1 ;
}
trieda zamestnanec
{
názov reťazca ;
int id ;
int Vek ;
verejnosti :
neplatné getter ( )
{
názov = rand_String ( 10 ) ;
id = rand_Integer ( 10 , 30 ) ;
Vek = rand_Integer ( 25 , 40 ) ;
}
neplatné disp ( )
{
cout << názov << ' \t ' << id << ' \t ' << Vek << ' \t ' << ' \n ' ;
}
} ;
int Hlavná ( )
{
vektor v1 ;
Zamestnanec s ;
pre ( int i = 0 ; i < 5 ; i ++ )
{
s. getter ( ) ;
v1. push_back ( s ) ;
}
pre ( int i = 0 ; i < 5 ; i ++ )
{
v1 [ i ] . disp ( ) ;
}
vrátiť 0 ;
}

Vo vyššie uvedenom kóde sme náhodne vygenerovali údaje (meno, vek a id) piatich zamestnancov pomocou vektora objektov triedy s názvom „ zamestnanec “. Kde sme definovali rozsah 10-30 pre ID zamestnanca a 25-40 pre ich vek.





Výhody použitia vektora objektov v C++

Existuje niekoľko výhod použitia vektora objektov v C++, ktoré sú nasledovné:



  • Umožňuje používateľom efektívne ukladať, spravovať a pristupovať k údajom.
  • Používatelia môžu pridávať, odstraňovať alebo manipulovať s údajmi podľa svojich potrieb bez toho, aby museli vytvárať pole od začiatku.
  • Optimalizuje rozloženie pamäte objektov.
  • Ľahko zmeňte veľkosť poľa počas behu.
  • Výkon sa zlepšuje pri práci s veľkými údajmi.

Vektor s ukazovateľom triedy

Môžete tiež použiť a vektor objektov v C++ na uloženie adresy objektu namiesto priameho vkladania objektov do vektorov. Tu je príklad pre takýto prípad:

#include
#include
použitím menný priestor std ;
trieda vlastník
{
verejnosti :
názov reťazca ;
} ;
int Hlavná ( )
{
vektorové stránky ;
vlastník * s1 = Nový vlastník ( ) ;
s1 - > názov = 'Alex' ;
vlastník * s2 = Nový vlastník ( ) ;
s2 - > názov = 'sám' ;
stránky. push_back ( s1 ) ;
stránky. push_back ( s2 ) ;
pre ( auto to : stránky ) {
cout << 'Vlastník:' < názov
<< 'ID vlastníka:' << to << endl ;
}
vrátiť 0 ;
}

V tomto kóde sme použili a vektor objektov v C++ na uloženie adresy objektu pomenovaného ako „vlastník“ namiesto priameho vkladania objektov do vektora. Tu sme použili operátor šípky na prístup k členom objektu.

Záver

Užitočný kontajner v C++, ktorý umožňuje používateľom ukladať viacero objektov rovnakého typu na jedno miesto, sa nazýva vektor objektov. Pomáha to urobiť váš kód efektívnejším a flexibilnejším. Okrem toho pomocou vektorov objektov môžete ľahko manipulovať a pristupovať k údajom, ktoré vám pomôžu ľahko písať zložitejšie programy.