Paradygmat programowania obiektowego jest powszechny we wszystkich nowoczesnych narzędziach i językach do tworzenia oprogramowania. Obecnie standardem branżowym jest obiektowy język programowania C++. Możesz utworzyć instancję klasy w C++ na kilka różnych sposobów.
Czy to jest to konieczne
Kompilator C++
Instrukcje
Krok 1
Utwórz wystąpienie klasy jako zmiennej automatycznej w zakresie lokalnym zdefiniowanym przez funkcję, metodę klasy lub blok instrukcji. Użyj deklaratywnej lub imperatywnej definicji obiektu klasy w wybranej lokalizacji w swoim programie. Jeśli to konieczne, wykonaj jawne wywołanie dowolnego konstruktora z parametrami. Utwórz obiekt za pomocą kodu podobnego do następującego: void CMyClass:: SomeMethod () {COtherClass oSomeObject1; // utwórz obiekt używając domyślnego konstruktora COtherClass oSomeObject2 (1980, "Victor V. Vakchturov"); // tworzenie obiektu za pomocą konstruktora z parametrami} Na stosie alokowana jest pamięć dla obiektów klas utworzonych w podobny sposób, jak dla wszelkich innych autozmiennych. Dlatego po wyjściu z zakresu i usunięciu ramki stosu obiekt zostanie zniszczony (z wywołaniem destruktora).
Krok 2
Utwórz instancję klasy na stercie przy użyciu operatora new. Zdefiniuj zmienną typu wskaźnik do obiektów klasy, która ma zostać utworzona. Nadaj mu wartość, która jest wynikiem oceny nowego operatora. Wywołaj odpowiedniego konstruktora. Użyj fragmentu kodu podobnego do następującego: CSomeClass * poSomeObject; // definicja wskaźnika do obiektów klasy CSomeClasspoSomeObject = new CSomeClass; // Utwórz obiekt klasy CSomeClass * poSomeObject_2 = new CSomeClass (111, "3V"); // tworzenie z wywołaniem konstruktora z parametrami Przy tworzeniu obiektów tą metodą używany jest mechanizm alokacji pamięci zdefiniowany przez operator new (jeśli nie jest nadpisany i nie jest ustawiona jego własna funkcja alokacji), czyli adres nowy obiekt nie jest z góry znany. Wszystkie obiekty utworzone w ten sposób muszą zostać jawnie usunięte za pomocą operatora usuwania.
Krok 3
Utwórz instancję klasy przy użyciu operatora new na samoprzydzielonym fragmencie pamięci. Użyj kodu podobnego do następującego: void * p0 = malloc (sizeof (CSomeClass)); // alokacja pamięci void * p1 = malloc (sizeof (CSomeClass)); // przydział pamięci nowy (p0) CsomeClass; // zainicjuj obiekt w przydzielonej pamięci (domyślny konstruktor) new (p1) CSomeClass (111, "abc"); // inicjalizacja obiektu (konstruktor z parametrami) Przed zniszczeniem obiektów utworzonych tą metodą należy jawnie wywołać ich destruktor: ((CSomeClass *) p0) -> ~ (); Tworzenie obiektów w ten sposób jest używane głównie w klasach kontenerów szablonów różne biblioteki (takie jak STL).