Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Netwerken >> Virtual Networks >> Content
Wat is virtuele overerving?
Virtuele erfenis is een C++-mechanisme voor het maken van een basisklasse die veilig van meerdere keren kan worden overgenomen, zonder problemen met object-slicing of runtime-fouten te veroorzaken.

Beschouw het volgende voorbeeld:

```c++

// Basisklasse

klasse Dier {

publiek:

tekenreeksnaam;

};

// Afgeleide klasse 1

klasse Hond:openbaar dier {

publiek:

string ras;

};

// Afgeleide klasse 2

klasse Kat:openbaar dier {

publiek:

kleur van de string;

};

// Afgeleide klasse 3 (erft van zowel hond als kat)

klasse Huisdier:openbare hond, openbare kat {

publiek:

// ...

};

```

Zonder virtuele overerving zou de klasse 'Pet' twee exemplaren van de basisklasse 'Animal' erven, wat zou kunnen leiden tot runtimefouten of object-slicing (waarbij slechts een deel van het object 'Pet' wordt geconstrueerd). Om dit te voorkomen kunnen we virtuele overerving gebruiken door het trefwoord `virtual` op te geven in de basisklassedeclaratie:

```c++

// Basisklasse met virtuele overerving

klasse Dier {

publiek:

tekenreeksnaam;

};

```

Door gebruik te maken van virtuele overerving zal de klasse `Pet` slechts één kopie van de basisklasse `Animal` erven, waardoor correct gedrag wordt gegarandeerd en runtimefouten worden voorkomen.

Voordelen:

1. Onduidelijkheid oplossen: Helpt bij het oplossen van dubbelzinnigheid wanneer meerdere basisklassen dezelfde lidfunctie of hetzelfde gegevenslid hebben.

2. Verminderde geheugenoverhead: Voorkomt het segmenteren van objecten, vermindert de geheugenoverhead en verbetert de prestaties.

3. Flexibiliteit: Maakt complexe overervingshiërarchieën mogelijk waarbij afgeleide klassen kunnen erven van meerdere basisklassen.

Wanneer virtuele overerving gebruiken:

- Wanneer u meerdere overervingen heeft en dubbelzinnige basisleden of object-slicing wilt vermijden.

- Wanneer u gemeenschappelijke functionaliteit wilt delen over meerdere afgeleide klassen zonder code te dupliceren.

Previous: Next:
  Virtual Networks
·Hoe maak je een VPN -netwerk t…
·Gegeven klasse C-adres met een…
·How to Set Up een gratis VPN M…
·Wat is VPN accountgegevens ? 
·Stap voor stap : Hoe het opzet…
·SonicWALL VPN Client Removal T…
·Hoe maak je een VPN Tunnel doo…
·Hoe je VPN-verbindingen maken …
·Hoe Set Up RR POP mail op een …
  Related Articles
Wat is het adres van Kaylyn Slevins? 
Wat is een groot IP-adres en wat doet he…
Wat is de populairste netwerktechnologie…
Welk kenmerk beschrijft de standaardgate…
Wat is lijnprotocol? 
Is het correct om het upnp-framework in …
Wat is het doel van het onderhouden van …
Welke standaardsnelheden worden onderste…
Wat is het voordeel van het gebruik van …
  Netwerken Articles
·Draadloos Enquête Gereedschap 
·Hoe te verbinden 2 computers aan Bell So…
·Heeft een Ethernet Cord Werk als een tel…
·Wat zijn de oorzaken Zwakke Wireless Sig…
·Hoe een AWS sleutelpaar Ophalen 
·Hoe je draadloze USB-adapter configurere…
·Beveiligingsmaatregelen voor de beveilig…
·Hoe je Wake inschakelen op een Dell op d…
·Hoe kan ik mijn oude computer maken van …
Copyright © Computer Kennis https://www.nldit.com