Buscar

TRABALHO LINGUAGEM II 1

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 3 páginas

Prévia do material em texto

UNIVERSIDADE ESTACIO DE SÁ
ENGENHARIA ELÉTRICA
LINGUAGEM DE PROGRAMAÇÃO II
PROFESSOR : JOÉLIO
ALUNA: ANA CAROLINA GARCIA GOMES
CAMPOS DOS GOYTACAZES
2017
1-Defina Funções virtuais e amigas demonstrando o código em java e citando um exemplo prático.
REPOSTA:
Uma função virtual é uma função que é declarada como virtual em uma classe base e redefinida pela classe derivada. Para declarar uma função como sendo virtual, é preciso preceder sua declaração com a palavra chave virtual. A redefinição da função na classe derivada sobrepõe a definição da função na classe base. No fundo, a declaração da função virtual na classe base age como uma espécie de indicador que especifica uma linha geral de ação e estabelece uma interface de acesso. A redefinição da função virtual pela classe derivada especifica as operações realmente executadas pelo método.
Quando acessadas normalmente, funções virtuais se comportam como qualquer outro tipo de função membro da classe. Entretanto, o que torna funções virtuais importantes e capazes de suportar polimorfismo em tempode execução é o seu modo de comportamento quando acessado através de um apontador. Lembre-se que um apontador para a classe base pode ser usado para apontar para qualquer classe derivada daquela classe base. Quando um apontador base aponta para um objeto derivado que contém uma função virtual, C ++ determina qual versão daquela função chamar baseada no tipo do objeto apontado pelo apontador. Assim, quando objetos diferentes são apontados, versões diferentes da função virtual são executadas.
EXEMPLO :
#include 
<$iostream.h$> 
class base { 
public: 
virtual void vfunc() { 
cout $\ll$ "Esta e vfunc() de base$\backslash$n"; 
} 
}; 
class derived1 : public base { 
public: 
void vfunc() { 
cout $\ll$ "Esta e vfunc() de derived1$\backslash$n"; 
} 
}; 
class derived2 : public base { 
public: 
void vfunc() { 
cout $\ll$ "Esta e vfunc() de derived2$\backslash$n"; 
} 
}; 
main() { 
base $\ast$p, b; 
derived1 d1; 
derived2 d2; 
// p aponta para base 
p = &b; 
p$\rightarrow$vfunc(); 
// p aponta para derived1 
p = &d1; 
p$\rightarrow$vfunc(); 
// p aponta para derived2 
p = &d2; 
p$\rightarrow$vfunc(); 
return(0); 
}

Continue navegando