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.