| Hjem | Hardware | Netværk | Programmering | software | Fejlfinding | systemer | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringssprog
  • Delphi programmering
  • Java programmering
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl programmering
  • Python Programming
  • Ruby Programming
  • Visual Basics Programmering
  •  
    Computer Viden >> Programmering >> C /C + + Programming >> Content
    Hvad er en virtuel Destructor i C
    ? Fordi C + + bruger et objekt -orienteret programmering , eller OOP model , som en del af dens design, skal programmører blive fortrolig med visse OOP begreber som klasser og objekter . Når en programmør ønsker at udvikle et objekt til brug i kode , skal hun designe objektet funktionalitet i en " klasse ". En klasse definerer de data og funktioner, som et objekt kan bruge. En bestemt type objekt funktion, den virtuelle destructor , for dens brug kræver, at en programmør forstå betydningen af ​​destruktionsfunktioner i klasser , begrebet klassen arv, og brugen af virtuelle funktioner i C + + programmering. Arv

    styrke PK ligger i begrebet arv. Når en programmør ønsker at udvide den funktionelt af et objekt, eller hvis ét objekt aktier meget af funktionelt af et andet objekt med kun mindre forskelle kan programmøren udlede en klasse fra hinanden . Når en klasse stammer fra en anden klasse ( "base "-klassen ), har det adgang til de variable og funktioner defineret i første klasse. I dette eksempel stammer class " bolden" fra klasse " sfære ", og udvider sin funktionalitet

    class Sphere {

    public: .

    Int getRadius () {

    afkast r ,

    }

    int r ,

    }

    klasse Ball : public Sphere {

    public: < br >

    string farve

    }
    virtuelle funktioner

    Da en afledt klasse har adgang til alle de funktioner i basisklassen , den kan bruge dem som helst , som hvis den handlede som base klassen. Dog kan den afledte klasse i stedet redigere en funktion i basisklassen passer sine behov . Desuden kan en base klasse tjene som en skabelon for afledte klasse . I dette tilfælde vil den basisklassen navngive funktioner uden at definere, hvad de gør , i stedet efterlader det til afledte klasser . En funktion i en base klasse , der gør noget , i stedet efterlader en afledt klasse til at gennemføre den , kaldes en "virtuel" -funktionen.

    Destruktorer

    Integral at gøre indsigelse design er at gennemføre " konstruktør " og " destructor " funktioner . En konstruktør funktion for en klasse definerer, hvordan et objekt, der oprettes fra klassen vil først initialisere sig selv ( hvilket standarddataværdierne det vil indeholde , for eksempel) . Den destructor , derimod, bestemmer, hvad der sker, når et objekt bliver slettet fra hukommelsen (hvordan oplysningerne i den er slettet , for eksempel) . Dette eksempel kode viser, hvordan en klasse først definerer entreprenøren og destructor funktioner

    class Sphere {

    Sphere (); . //Constructor

    ~ Sphere () //destructor

    }
    virtuelle destruktorer

    grund af, hvordan klasser og destruktionsfunktioner arbejde, når en afledt klasse er slettet fra hukommelsen , både destructor af det afledte klasse og destructoren af basen klasse skal hedde . For at opnå dette , programmører skabe virtuelle destruktionsfunktioner i stamklasser , at afledte klasser kan definere . Dette eksempel viser en base klasse med en virtuel destructor og en afledt klasse med sin egen destructor

    class Sphere {

    Sphere (); .

    Virtual ~ Sphere () { } //den "virtuelle " søgeord betegner en virtuel klasse

    }

    klasse Ball : public Sphere {

    Ball ();

    ~ Ball (): //sletning af en " kugle " objekt vil kalde denne destructor og Sphere destructoren

    Forrige :

    næste :
      Relaterede artikler
    ·Sådan oprettes en Binary Tree i C 
    ·Sådan Purge en Modtag Buffer Socket i C 
    ·Sådan bruges strchr Funktion i C + + 
    ·Sådan får du en funktion Prototype i DLL 
    ·Sådan bruges C på en Unix System 
    ·Sådan læses en sekventiel fil i C 
    ·Hvordan man skriver et program i C for at udskrive seri…
    ·Sådan Embed en database i en Mac App 
    ·Sådan bruges Atoi Funktion 
    ·Sådan Pass Skabelon Structs funktioner i C 
      Anbefalede Artikler
    ·Sådan Erklær Inline funktioner i C + + 
    ·Sådan Vedhæft en Array i Python 
    ·Sådan fjernes CoreData iPhone Emulator 
    ·Sådan Slet rækker i flade filer i PHP 
    ·Sådan Tildel et udtryk til en Label i Visual Basic 
    ·Sådan oprettes et ActiveX-objekt i VB 
    ·Sådan Medtag en PHP fil i Smarty 
    ·Sådan flytter du en fil pointer i C + + 
    ·Hvordan opretter jeg en simpel rentesats Calculator i J…
    ·Sådan bruges Animerede Sprites i Eclipse 
    Copyright © Computer Viden http://www.computerdk.com