Jeśli szukasz wskazówek dot wektor obiektów w C++, postępuj zgodnie z wytycznymi tego artykułu.
Co to jest wektor obiektów w C++
W C++, A wektor obiektów to struktura danych, która umożliwia użytkownikom przechowywanie zestawu powiązanych obiektów lub typów danych. Działa podobnie do zwykłej tablicy i oferuje użytkownikom możliwość zmiany rozmiaru, co oznacza, że może rosnąć lub zmniejszać się w zależności od potrzeb programu. Ta funkcja jest szczególnie przydatna podczas pracy z dużymi zestawami danych o różnych rozmiarach.
Jak stworzyć wektor obiektów w C++
Wektor obiektów klas wydaje się być przykładem takiego niestandardowego wektora, w którym można przechowywać wiele instancji klas.
Poniższy program C++ utworzy wektor obiektów klasy.
#include
#włącz <łańcuch>
#uwzględnij
za pomocą przestrzeń nazw standardowe ;
int Rand_Integer ( int X, int I )
{
powrót ( X + skraj ( ) % I ) ;
}
ciąg Rand_String ( int leniwy1 )
{
ciąg str1 ;
Do ( int I = 0 ; I < leniwy1 ; I ++ ) {
zwęglać rozdz = 'A' + skraj ( ) % 26 ;
str1. push_back ( rozdz ) ;
}
powrót str1 ;
}
klasa Pracownik
{
nazwa ciągu ;
int ID ;
int wiek ;
publiczny :
próżnia rębacz ( )
{
nazwa = Rand_String ( 10 ) ;
ID = Rand_Integer ( 10 , 30 ) ;
wiek = Rand_Integer ( 25 , 40 ) ;
}
próżnia disp ( )
{
cout << nazwa << ' \T ' << ID << ' \T ' << wiek << ' \T ' << ' \N ' ;
}
} ;
int główny ( )
{
wektor v1 ;
Pracownicy ;
Do ( int I = 0 ; I < 5 ; I ++ )
{
S. rębacz ( ) ;
v1. push_back ( S ) ;
}
Do ( int I = 0 ; I < 5 ; I ++ )
{
v1 [ I ] . disp ( ) ;
}
powrót 0 ;
}
W powyższym kodzie losowo wygenerowaliśmy dane (nazwisko, wiek i identyfikator) pięciu pracowników, używając wektora obiektów klasy nazwanych jako „ Pracownik ”. Gdzie zdefiniowaliśmy przedział 10-30 dla identyfikatora pracownika i 25-40 dla jego wieku.
Zalety używania Vector of Objects w C++
Istnieje kilka zalet używania wektora obiektów w C++, które są następujące:
- Umożliwia użytkownikom wydajne przechowywanie, zarządzanie i dostęp do danych.
- Użytkownicy mogą dodawać, usuwać lub manipulować danymi zgodnie ze swoimi potrzebami bez konieczności tworzenia tablicy od podstaw.
- Optymalizuje układ pamięci obiektów.
- Łatwo zmieniaj rozmiar tablicy w czasie wykonywania.
- Wydajność jest lepsza, gdy ma do czynienia z dużymi danymi.
Wektor Posiadający Wskaźnik Klasy
Możesz także użyć A wektor obiektów w C++ do przechowywania adresu obiektu zamiast bezpośredniego wstawiania obiektów do wektorów. Oto przykład takiego przypadku:
#include#uwzględnij
za pomocą przestrzeń nazw standardowe ;
klasa właściciel
{
publiczny :
nazwa ciągu ;
} ;
int główny ( )
{
strony wektorowe ;
właściciel * s1 = nowy właściciel ( ) ;
s1 - > nazwa = 'Aleks' ;
właściciel * s2 = nowy właściciel ( ) ;
s2 - > nazwa = 'Samego siebie' ;
witryny. push_back ( s1 ) ;
witryny. push_back ( s2 ) ;
Do ( automatyczny To : witryny ) {
cout << 'Właściciel:' < nazwa
<< 'Identyfikator właściciela:' << To << koniec ;
}
powrót 0 ;
}
W tym kodzie użyliśmy a wektor obiektów w C++ do przechowywania adresu obiektu nazwanego „właściciel” zamiast bezpośredniego wstawiania obiektów do wektora. Tutaj użyliśmy operatora strzałki, aby uzyskać dostęp do członków obiektu.
Wniosek
Przydatnym kontenerem w C++, który pozwala użytkownikom przechowywać wiele obiektów tego samego typu w jednym miejscu, jest wektor obiektów. Pomaga uczynić kod bardziej wydajnym i elastycznym. Co więcej, używając wektorów obiektów, możesz łatwo manipulować danymi i uzyskiwać do nich dostęp, co ułatwia pisanie bardziej złożonych programów.