Ako Vytvoriť Inštanciu Triedy

Obsah:

Ako Vytvoriť Inštanciu Triedy
Ako Vytvoriť Inštanciu Triedy

Video: Ako Vytvoriť Inštanciu Triedy

Video: Ako Vytvoriť Inštanciu Triedy
Video: Вязание крючком: МАСТЕР КЛАСС ажурная летняя кофточка крючком БЕЛОСНЕЖКА, ЧАСТЬ 2 КОКЕТКА - РЕГЛАН 2024, November
Anonim

Objektovo orientovaná paradigma programovania prevláda vo všetkých moderných nástrojoch a jazykoch na vytváranie softvéru. Priemyselným štandardom je dnes objektovo orientovaný programovací jazyk C ++. Inštanciu triedy v C ++ môžete vytvoriť niekoľkými rôznymi spôsobmi.

Ako vytvoriť inštanciu triedy
Ako vytvoriť inštanciu triedy

Je to nevyhnutné

kompilátor C ++

Inštrukcie

Krok 1

Vytvorte inštanciu triedy ako automatickú premennú v lokálnom rozsahu definovanom funkciou, metódou triedy alebo blokom príkazov. Použite deklaratívnu alebo imperatívnu definíciu objektu triedy na vybranom mieste vo vašom programe. Ak je to potrebné, urobte výslovné volanie ľubovoľnému konštruktoru s parametrami. Vytvorte objekt pomocou kódu podobného tomuto: void CMyClass:: SomeMethod () {COtherClass oSomeObject1; // vytvorenie objektu pomocou predvoleného konštruktora COtherClass oSomeObject2 (1980, "Victor V. Vakchturov"); // vytvorenie objektu pomocou konštruktora s parametrami} Pamäť pre objekty tried vytvorených podobným spôsobom, ako pre akékoľvek iné automatické premenné, je alokovaná na zásobníku. Preto keď opustíte rozsah a odstránite rám zásobníka, objekt bude zničený (s volaním deštruktora).

Krok 2

Vytvorte inštanciu triedy v halde pomocou nového operátora. Definujte premennú ukazovateľa typu na objekty triedy, ktorá sa má vytvoriť. Priraďte mu hodnotu, ktorá je výsledkom vyhodnotenia nového operátora. Zavolajte príslušného konštruktéra. Použite útržok kódu podobný tomuto: CSomeClass * poSomeObject; // definícia ukazovateľa na objekty triedy CSomeClasspoSomeObject = nový CSomeClass; // Vytvorenie objektu triedy CSomeClass * poSomeObject_2 = nový CSomeClass (111, "3V"); // tvorba s volaním konštruktora s parametrami Pri vytváraní objektov touto metódou sa používa mechanizmus alokácie pamäte definovaný novým operátorom (ak nie je prepísaný a nie je nastavená jeho vlastná alokačná funkcia), takže adresa nový objekt nie je vopred známy. Všetky objekty vytvorené týmto spôsobom musia byť výslovne vymazané pomocou operátora mazania.

Krok 3

Vytvorte inštanciu triedy pomocou nového operátora na samostatne pridelenom bloku pamäte. Použite kód podobný tomuto: void * p0 = malloc (sizeof (CSomeClass)); // alokácia pamäte void * p1 = malloc (sizeof (CSomeClass)); // alokácia pamäte new (p0) CSomeClass; // inicializuje objekt na alokovanej pamäti (predvolený konštruktor) new (p1) CSomeClass (111, "abc"); // inicializácia objektu (konštruktor s parametrami) Pred zničením objektov vytvorených touto metódou by ste mali výslovne zavolať ich deštruktor: ((CSomeClass *) p0) -> ~ (); Vytváranie objektov týmto spôsobom sa používa hlavne v triedach kontajnerových šablón rôzne knižnice (napríklad STL).

Odporúča: