Networking  
 
Rede de conhecimento computador >> Networking >> Redes Virtuais >> Content
O que é herança virtual?
Herança virtual é um mecanismo C++ para criar uma classe base que pode ser herdada com segurança várias vezes, sem causar problemas com o fatiamento de objetos ou erros de tempo de execução.

Considere o seguinte exemplo:

```c++
//Classe base
classe Animal {
público:
nome da sequência;
};

// Classe derivada 1
classe Cachorro:Animal público {
público:
raça de corda;
};

// Classe derivada 2
class Gato:Animal público {
público:
cor do barbante;
};

// Classe derivada 3 (herda de Dog e Cat)
class Animal de estimação:cachorro público, gato público {
público:
// ...
};
```

Sem herança virtual, a classe `Pet` herdaria duas cópias da classe base `Animal`, o que poderia levar a erros de tempo de execução ou fatiamento de objetos (onde apenas uma parte do objeto `Pet` é construída). Para evitar isso, podemos usar herança virtual especificando a palavra-chave `virtual` na declaração da classe base:

```c++
//Classe base com herança virtual
classe Animal {
público:
nome da sequência;
};
```

Ao usar herança virtual, a classe `Pet` herdará apenas uma cópia da classe base `Animal`, garantindo o comportamento correto e evitando erros de execução.

Benefícios:

1. Resolvendo ambigüidades: Ajuda a resolver ambiguidades quando várias classes base têm a mesma função de membro ou membro de dados.

2. Sobrecarga de memória reduzida: Evita o fatiamento de objetos, reduzindo a sobrecarga de memória e melhorando o desempenho.

3. Flexibilidade: Permite hierarquias de herança complexas onde classes derivadas podem herdar de múltiplas classes base.

Quando usar herança virtual:

- Quando você tem herança múltipla e deseja evitar membros de base ambíguos ou fatiamento de objetos.
- Quando você deseja compartilhar funcionalidades comuns entre várias classes derivadas sem duplicar o código.

Anterior :

Próximo :
  Os artigos relacionados
·Como desativar o Windows VPN Software Compression 
·Como conectar Cisco Systems VPN Client para Kentrox Q23…
·Como configurar uma VPN em Cbeyond 
·Portas usadas por clientes Cisco VPN 
·Hardware Vs . VPN Software 
·Como proteger uma área de trabalho remota VPN Via 
·Como instalar o SonicWALL SSL VPN 
·Como obter acesso remoto através de um VPN 
·O que é uma VPN em Analytics 
·O que a descoberta de rede faz? 
  Artigos em destaque
·Como configurar um servidor Microsoft Terminal 
·Como fazer uma lista de Melhores Amigos 
·Qual é a taxa de bits da Ethernet quando a codificaçã…
·Java não instalar 
·Como solucionar um Motorola SB5101 
·Como atualizar um Certificado Digital 
·Como acelerar um modem de cabo para 12 Mbps 
·Que cor é um cabo CAT 5 
·Como configurar um modem sem fio em casa 
·O que Wireless- Pronto média 
Cop e direita © Rede de conhecimento computador http://ptcomputador.com Todos os Direitos Reservados