Što je vektor objekata C++

Sto Je Vektor Objekata C



Kao početnik u C++-u, možda ćete čuti izraz ' vektor objekata ”. Međutim, nemate pravo razumijevanje o tome što ovaj izraz znači i kako bi se mogao koristiti u C++ programu.

Ako ste vi taj koji traži smjernice o vektor objekata u C++, slijedite smjernice ovog članka.

Što je vektor objekata u C++

U C++, a vektor objekata je struktura podataka koja korisnicima omogućuje pohranu skupa povezanih objekata ili tipova podataka. Djeluje slično običnom nizu i nudi prednost korisnicima jer mu je moguće mijenjati veličinu, što znači da se može povećavati ili smanjivati ​​prema potrebama programa. Ova je značajka posebno korisna pri radu s velikim skupovima podataka različitih veličina.







Kako stvoriti vektor objekata u C++

Čini se da je vektor objekata klase primjer takvog prilagođenog vektora u kojem se može pohraniti više instanci klase.



Sljedeći C++ program će stvoriti vektor objekata klase.



#include
#include
#uključi
korištenjem imenski prostor std ;
int rand_cijeli broj ( int x, int i )
{
povratak ( x + rand ( ) % i ) ;
}
niz rand_String ( int lijen1 )
{
string str1 ;
za ( int ja = 0 ; ja < lijen1 ; ja ++ ) {
char CH = 'A' + rand ( ) % 26 ;
str1. odgurnuti ( CH ) ;
}
povratak str1 ;
}
razreda Zaposlenik
{
naziv niza ;
int iskaznica ;
int dob ;
javnost :
poništiti dobivač ( )
{
Ime = rand_String ( 10 ) ;
iskaznica = rand_cijeli broj ( 10 , 30 ) ;
dob = rand_cijeli broj ( 25 , 40 ) ;
}
poništiti disp ( )
{
cout << Ime << ' \t ' << iskaznica << ' \t ' << dob << ' \t ' << ' \n ' ;
}
} ;
int glavni ( )
{
vektor v1 ;
Zaposlenica s ;
za ( int ja = 0 ; ja < 5 ; ja ++ )
{
s. dobivač ( ) ;
v1. odgurnuti ( s ) ;
}
za ( int ja = 0 ; ja < 5 ; ja ++ )
{
v1 [ ja ] . disp ( ) ;
}
povratak 0 ;
}

U gornjem kodu, nasumično smo generirali podatke (ime, dob i ID) pet zaposlenika koristeći vektor objekata klase nazvan kao ' Zaposlenik ”. Gdje smo definirali raspon od 10-30 za ID zaposlenika i 25-40 za njihovu dob.





Prednosti korištenja vektora objekata u C++

Postoji nekoliko prednosti korištenja vektora objekata u C++, a to su sljedeće:



  • Korisnicima omogućuje učinkovito pohranjivanje, upravljanje i pristup podacima.
  • Korisnici mogu dodavati, uklanjati ili manipulirati podacima prema svojim potrebama bez potrebe za stvaranjem niza od nule.
  • Optimizira memorijski raspored objekata.
  • Jednostavno promijenite veličinu niza tijekom izvođenja.
  • Performanse su poboljšane kada se radi s velikim podacima.

Vektor koji ima pokazivač klase

Također možete koristiti a vektor objekata u C++ za pohranjivanje adrese objekta umjesto izravnog umetanja objekata u vektore. Evo primjera za takav slučaj:

#include
#uključi
korištenjem imenski prostor std ;
razreda vlasnik
{
javnost :
naziv niza ;
} ;
int glavni ( )
{
vektorska mjesta ;
vlasnik * s1 = novi vlasnik ( ) ;
s1 - > Ime = 'Aleks' ;
vlasnik * s2 = novi vlasnik ( ) ;
s2 - > Ime = 'Sam' ;
stranice. odgurnuti ( s1 ) ;
stranice. odgurnuti ( s2 ) ;
za ( auto to : stranice ) {
cout << 'Vlasnik:' < Ime
<< 'ID vlasnika:' << to << endl ;
}
povratak 0 ;
}

U ovom kodu koristili smo a vektor objekata u C++ za pohranjivanje adrese objekta nazvanog 'vlasnik' umjesto izravnog umetanja objekata u vektor. Ovdje smo koristili operator strelice za pristup članovima objekta.

Zaključak

Koristan spremnik u C++ koji korisnicima omogućuje pohranjivanje više objekata iste vrste na jednom mjestu naziva se vektor objekata. Pomaže učiniti vaš kod učinkovitijim i fleksibilnijim. Nadalje, koristeći vektore objekata, možete jednostavno manipulirati i pristupiti podacima koji vam pomažu da s lakoćom pišete složenije programe.