Datamaskin
  | Hjem | Hardware | Nettverk | Programmering | Software | Feilsøking | Systems | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringsspråk
  • Delphi Programming
  • Java Programming
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl Programming
  • Python Programming
  • Ruby Programming
  • Visual Basics Programming
  •  
    Datamaskin >> Programmering >> C /C + + Programming >> Content
    Hva er et virtuelt Destructor i C
    ? Fordi C + + bruker et objektorientert programmering, eller OOP modell , som en del av sin utforming, må programmerere bli kjent med visse OOP begreper som klasser og objekter . Når en programmerer ønsker å utvikle en gjenstand for bruk i koden , må hun utforme objektets funksjonalitet i en " klasse ". En klasse definerer data og funksjoner som et objekt kan bruke. En bestemt type objekt funksjon, den virtuelle ødelegger , for bruken krever at en programmerer forstå hvilken rolle destructors i klasser , begrepet klasse arv , og bruk av virtuelle funksjoner i C + + programmering. Arv

    styrke OOP ligger i begrepet arv . Når en programmerer ønsker å forlenge funksjonelt av et objekt, eller hvis Et formål har mye av den funksjonelt på et annet objekt med bare mindre forskjeller , kan programmereren utlede en klasse fra hverandre . Når en klasse stammer fra en annen klasse ( "base " class ), den har tilgang til variabler og funksjoner som er definert i første klasse. I dette eksempelet stammer klasse " ball" fra klasse "kule ", og utvider funksjonaliteten

    klasse Sphere {

    public: .

    Int getRadius ( ) {

    retur r ;

    }

    int r ;

    }

    klasse Ball : public Sphere {

    public:

    streng farge ;

    }
    virtuelle funksjoner

    Siden en avledet klasse har tilgang til alle funksjonene i base klasse , det kan bruke dem som helst som om det var opptrer som base klassen . Imidlertid kan det utledes klassen i stedet endre en funksjon i base klassen som passer deres behov . Videre kan en base klasse tjene som en mal for avledet klasse . I dette tilfellet vil base klassen nevne funksjoner uten å definere hva de gjør, i stedet forlater den til avledet klasser. En funksjon i en base klasse som ikke gjør noe , istedenfor å forlate en avledet klasse for å gjennomføre det, kalles en " virtuell "-funksjon.

    Destructors

    Integral til å protestere design er gjennomføringen av " konstruktør " og " destructor " funksjoner . En konstruktør funksjon for en klasse definerer hvordan et objekt skapt fra klassen vil først starte seg selv (hva standard dataverdier den vil inneholde , for eksempel) . Destructor , derimot , bestemmer hva som skjer når et objekt slettes fra minnet ( hvordan informasjonen i den slettes, for eksempel) . Dette eksempelet kode viser hvordan en klasse først definerer konstruktør og destructor funksjoner

    klasse Sphere {

    Sphere (); . //Konstruktør

    ~ Sphere (); //destructor

    }
    Virtual destructors

    grunn av hvordan klasser og destructors arbeid, når en avledet klasse er slettet fra minnet , både destructor av avledet klasse og destructor av base klassen må kalles . For å oppnå dette , programmerere skape virtuelle destructors i grunnklasser , som avledet klasser kan definere . Dette eksemplet viser en base klasse med en virtuell destructor og en avledet klasse med sin egen destructor

    klasse Sphere {

    Sphere (); .

    Virtuelle ~ Sphere ( ) { }; //den "virtuelle " søkeord betegner en virtuell klasse

    }

    klasse Ball : public Sphere {

    Ball ();

    ~ Ball ( ) : //slette en " ball" objektet vil kalle dette ødelegger og Sphere destructor

    früher :

     Weiter:
      Relatert Artike
    ·Hvordan fikse GCC Advarsel Implisitt Declaration of Fun…
    ·Hvordan Design en C + + program for å beregne Worker L…
    ·Hvordan erstatte vilkårlig tekst i String i C + + 
    ·Hvordan lage en C + + klasse 
    ·Hvordan du skal lukke en WCF Kanal 
    ·Datatyper for Turbo C 
    ·Hvordan bruke LINQ to XML 
    ·Slik søker du etter en fil i C # 
    ·Slik importerer DLL Bruke en styrt Kode 
    ·Hvordan bruke Function Maler i C + + 
      Anbefalte artikler
    ·Hvordan bruke Draw Command i Visual Basic 
    ·Slik søker du etter en fil i VB 
    ·Hvordan iterere over Linjer av fil i Python 
    ·Slik bygger PHP i HTML Med Dreamweaver 
    ·ServerSocket Bruke Chat i Java 
    ·Hvordan sende HTML Med javamail 
    ·Hvordan Stopp Beep Når Enter Presset i tekstboks i VB.…
    ·Hvordan returnere en STL Vector Fra en ny funksjon 
    ·Blar en fil i Python 
    ·Hvordan Loop finne like navn i en tilfeldig fil i VB 4/…
    Copyright ©  Datamaskin  http://www.datamaskin.biz/