Erros, bugs, perguntas - página 1678
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Pode utilizar isto para fazer um análogo da palavra-chave final, proibindo explicitamente a continuação da herança.
Mas como o exemplo acima mostra, não se pode fazer um análogo. Deve-se especificar o final mesmo para métodos privados.
Estranho. Para o património público, o acesso máximo deve ser protegido e não privado.
E a função no exemplo está exactamente a ser sobrecarregada?
Estranho. Para o património público, o acesso máximo deve ser protegido, e não privado.
E no exemplo, a função está exactamente sobrecarregada?
Certo. Eu próprio acabei de o descobrir.
Se o fizer
BASE() {Func();} // вместо void Init() {Func();} Вызов Base.Init() - убрать конечно.
pode verificar-se a si próprio depois de a executar e ver se sabe o que é suposto acontecer.
No diário de bordo terminal recebo
ir desajeitadamente para o local especificado no código fonte. Seria conveniente se pudesse fazer duplo clique sobre tal mensagem no diário de bordo do terminal e ir directamente para a linha especificada.
Se alguém o apoiar, fale alto.
O clássico é uma interface numa classe base com redefinição em descendentes:
Clássico é quando os métodos virtuais protegidos/públicos são anulados. Mas para o privado, não é tão óbvio (em termos de aplicação). Obrigado pela resposta.
Sim, já apaguei o meu exemplo sem ver a sua resposta, foi realmente lamentável.
Eu próprio fiquei confuso com o básico enquanto vos respondia. Tudo estava correcto nesse exemplo, eu não o deveria ter apagado. O mesmo exemplo mais uma vez com um exemplo de utilização:
Eu próprio fiquei confuso com o básico enquanto vos respondia. Tudo estava correcto nesse exemplo, eu não o deveria ter apagado. Mais uma vez com um exemplo de como o utilizar:
O compilador não faz um duque.
Este não é um bom exemplo, uma vez que não podemos ver a interface CAnimal a ser utilizada em qualquer lugar. Também dois descendentes foram tornados públicos. Compreendo o tema, por isso não há problema.
Exemplo normal. Um animal abstracto faz basicamente algum som, mas indefinido, por isso não podemos chamar-lhe o método Speak(); só pode ser chamado sobre um animal de uma espécie específica. Por conseguinte, declaramos um método virtual fechado numa classe de base, e anulamo-lo em descendentes e abrimo-lo.
Exemplo normal. Um animal abstracto faz basicamente algum som, mas indefinido, por isso não podemos chamar-lhe o método Speak(); só pode ser chamado sobre um animal de uma espécie específica. Por conseguinte, declaramos um método virtual fechado numa classe de base, e anulamo-lo em descendentes e abrimo-lo.