|  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Nätverk
  • Ethernet
  • FTP och Telnet
  • IP -adress
  • Internet-nätverk
  • Regionalt nätverk
  • Modem
  • Network Security
  • Andra Computer Networking
  • Routrar
  • virtuella nätverk
  • Voice Over IP
  • Trådlöst Nätverk
  • trådlösa routrar
  • * Dator Kunskap >> Nätverk >> virtuella nätverk >> Content

    Vad är virtuellt arv?

    Virtuellt arv är en C++-mekanism för att skapa en basklass som säkert kan ärvas från flera gånger, utan att orsaka problem med objektdelning eller körtidsfel.

    Tänk på följande exempel:

    ```c++

    // Basklass

    klass Djur {

    offentlig:

    strängnamn;

    };

    // Härledd klass 1

    klass Hund:offentligt djur {

    offentlig:

    sträng ras;

    };

    // Härledd klass 2

    klass Katt:offentligt djur {

    offentlig:

    sträng färg;

    };

    // Härledd klass 3 (ärver från både hund och katt)

    klass Husdjur:offentlig hund, offentlig katt {

    offentlig:

    // ...

    };

    ```

    Utan virtuellt arv skulle "Pet"-klassen ärva två kopior av "Animal"-basklassen, vilket kan leda till körtidsfel eller objektsnitt (där bara en del av "Pet"-objektet är konstruerat). För att förhindra detta kan vi använda virtuellt arv genom att ange nyckelordet "virtuellt" i basklassdeklarationen:

    ```c++

    // Basklass med virtuellt arv

    klass Djur {

    offentlig:

    strängnamn;

    };

    ```

    Genom att använda virtuellt arv kommer klassen `Pet` endast att ärva en kopia av basklassen `Animal`, vilket säkerställer korrekt beteende och förhindrar körtidsfel.

    Fördelar:

    1. Lösa oklarheter: Hjälper till att lösa oklarheter när flera basklasser har samma medlemsfunktion eller datamedlem.

    2. Minskad minneskostnad: Undviker skärning av föremål, minskar minneskostnader och förbättrar prestanda.

    3. Flexibilitet: Tillåter komplexa arvshierarkier där härledda klasser kan ärva från flera basklasser.

    När ska man använda virtuellt arv:

    - När du har flera arv och vill undvika tvetydiga baselement eller objektskivning.

    - När du vill dela gemensam funktionalitet över flera härledda klasser utan att duplicera kod.

    Tidigare:

    nästa:
    relaterade artiklar
    ·Felsökning av en Latitude D630 VPN
    ·Är PVS upptäcker sårbarheter baserat på nätverkstr…
    ·Hur man ansluter en BlackBerry till VPN
    ·Är WAN-anslutning en ingång eller utgång?
    ·Hur att paketera en Microsoft VPN -anslutning för anvä…
    ·Linksys Site - to-site VPN
    ·Hur Remote Access VPN SSL
    ·Hur Tillåt en VPN via en Windows -brandväggen
    ·Hur hitta en VPN lösenord
    ·Var finns det virtuella minnet i ett PC-system?
    Utvalda artiklarna
    ·Hur kan människor skydda sig själva och sin egendom n…
    ·Hur du installerar en Windows- domän
    ·Så här aktiverar du en högtalartelefon Over VoIP
    ·Hur du manuellt Applicera en Group Policy
    ·Hur ansluta Linksys till en dator
    ·Hur ta reda på bandbredd på en bärbar dator
    ·Vad krävs för att få internetuppkoppling?
    ·Inaktivera ett datornätverk
    ·Hur Network ett Wi - Fi-kort
    ·Hur man återställer Linksys Security Password
    Copyright © Dator Kunskap https://www.dator.xyz