Introduktion om konstruktör och förstörare i C ++
- Constructor and Destructor i C ++ spelar en viktig roll i ett objektorienterat programmeringsspråk som C ++. Eftersom vi har klass och dess objekt i C ++ medan vi skapar det nya objektet varje gång konstruktören kan användas för att initialisera objektet, medan när objektet är på väg att förstöra destruktor kan användas för att utföra de nödvändiga postoperationerna.
- När vi skapar ett objekt för en klass i C ++, kanske vi vill initiera fält i klassen med några standardvärden eller vissa värden. En klass har sina fält och metoder. Fält är mestadels variabler eller objekt. Genom att tilldela standardvärden till dessa fält gör vi vår programmering enkel. Konstruktören är som normal funktion inom klassen och kompilatorn kallar den automatiskt när vi skapar ett nytt objekt i den klassen. När vi skapar objektet överför vi faktiskt de erforderliga värdena som ett argument till objektet, dessa argument skickas till konstruktören för klassen. Argumentvärdena kan nu tilldelas motsvarande fält, som är tillgängliga i klassen. Dessutom kan vi tilldela standardvärden till fälten där vi inte skickar argumenten. Det finns som sådan olika typer och sätt som vi initialiserar konstruktören i C ++.
- Konstruktören är som en speciell medlemsfunktion i en klass. När vi skapar ett nytt objekt körs konstruktören. Syntaxen för en konstruktör är mycket enkel, funktionen har samma namn som den klass där den är definierad och den kommer inte att ha någon returtyp, inte ens ogiltig. Konstruktörer är mycket användbara för att tilldela vissa värden till vissa medlemmar i klassen. Konstruktören kan användas för att utföra klassrelaterad logik vid inställningstillfället.
Syntax of Constructor
class Box (
public:
int height;
//constructor
Box () (
// member initialization
)
)
Destruktorn i C ++ är också en speciell medlemsfunktion i klassen. Destruktorn kallas automatiskt av kompilatorn och körs varje gång objektet i den specifika klassen går ut ur räckvidden eller så raderas det genom att använda radera-uttryck i pekaren på objektet. När objektet förstörs av en kompilator kallas förstöraren. I destructor kan vi utföra uttalanden som kan vara allt vi vill utföra när objektet går ut ur räckvidden. Efteroperationerna som stängning av anslutningar, stängning av filer osv är några av de exempel som vi kan utföra i förstöraren.
Syntax of Destructor
class Box (
public:
int height;
//destructor
~Box () (
// post statements
)
)
Destruktorns syntax liknar konstruktören. Den kommer att ha samma namn som den klass där den är definierad och har ingen returtyp. Men det kommer bara att ha ~ (tilde) -tecken före förstörarens namn. Vanligtvis används förstöraren för att fördela det dynamiskt tilldelade minnet för klassen och dess medlemmar. Destruktorerna är mycket användbara för att utföra postoperationer, som kan utföras efter affärslogik.
Varför behöver vi en konstruktör och en förstörare i C ++?
C ++ är ett objektorienterat programmeringsspråk. I alla objektorienterade programmeringsspråk kartlägger vi ursprungliga verkliga enheter med klassen och objekt.
Låt oss förstå varför behöver vi en konstruktör och destruktor i C ++ med verkliga exempel. Anta att vi har entitetsbox och vi har skapat en klass för den och den kommer att ha objekt som också kan användas i andra delar. Nu kommer rutan att ha vissa parametrar som höjd, längd, bredd osv. Och när vi skapar ett objekt i klassbox, vill vi att det ska ta något standardvärde. Låt oss säga för höjd, detta mål kan uppnås genom att tilldela ett visst standardvärde till höjd i konstruktorn i den klassen. På liknande sätt kan även andra parametrar tilldelas värden. Efter att ha använt objektet i Box, låt oss säga att vi vill ha en viss åtgärd omedelbart eller kalla någon funktion. Detta kan göras med Destructor i C ++. De obligatoriska uttalandena läggs till i den klassens förstörare. Dessa är fördelarna i realtid med att ha en konstruktör och destruktor i C ++.
Hur fungerar konstruktörer och destruktorer i C ++?
Som diskuterats tidigare kommer konstruktören att ringas av kompilatorn när ett objekt skapas. Om vi inte definierar konstruktör genererar C ++ -kompilatorn automatiskt en standardkonstruktör för oss. Konstruktorn används för att fördela minnet vid behov och konstruera klassobjektet medan en destruktor används för att utföra nödvändig sanering när ett objekt förstörs. Förstöraren anropas automatiskt av kompilatorn när ett föremål förstörs. Om vi inte definierar vår egen destruktor skapar C ++ -kompilatorn en standarddestruktor.
Skapa konstruktör och förstörare i C ++? (Exempel)
1. Konstruktörsexempel
Låt oss ta samma exempel på klassbox för att förklara konstruktören. Låt oss tilldela vissa standardvärden till rutans höjd och vikt.
Koda
class Box (
public:
int height;
int weight;
// constructor
Box () (
// member initialization
height = 10;
weight = 20;
)
)
Så, när objektet i denna klass skapas, kommer det att returnera objektet av typ Box med standardvärden enligt definitionen ovan.
2. Destructor Exempel
Närhelst objektet i Box går ut ur omfattningen kommer vi att skriva ut lite text på konsolen i vårt exempel. I faktiskt kodning kan det utföras någon specifik aktivitet.
Koda
class Box (
public:
int height;
int weight;
// constructor
Box () (
// member initialization
height = 10;
weight = 20;
)
//destructor
~Box () (
// post statements
cout << “Box Object is being deleted.” << endl;
)
)
Så när objektet i Box går ut ur omfattningen kommer kompilatorn att skriva ut texten enligt definitionen ovan på konsolen.
Slutsats
Så, Constructor och Destructor spelar en viktig roll i det objektorienterade programmeringsspråket. En konstruktör används för att initialisera objektet och destruktorn används när objektet förstörs. Både konstruktören och destruktorn är mycket användbara när du programmerar på C ++ -språket.
Rekommenderade artiklar
Detta är en guide till konstruktör och Destructor i C ++. Här diskuterar vi behoven hos Constructor och Destructor i C ++, hur man använder, olika syntaxer och exempel. Du kan också gå igenom våra andra relaterade artiklar för att lära dig mer-
- C ++ Array-funktioner
- Kopiera konstruktör i C ++
- Introduktion till C ++
- Typer av konstruktör i C
- Guide till Destructor i C #
- Destruktor i PHP med exempel