photo
+ Responder ao Tópico
Resultados de 1 a 1 de 1

Thread: Restrições sobre o uso de classes abstratas

  1. #1 Fechar a publicação
    Senior Member usuarioforum's Avatar usuarioforum's Avatar
    Data de afiliação
    Aug 2018
    Postagens
    579
    Obrigado
    166
    Agradecimentos 614 Tempos em 368 Postagens
    AssinarAssinar
    subscritar: 0

    Restrições sobre o uso de classes abstratas

    Quando você chamar, com o construtor, uma função virtual pura (direta ou indiretamente), o resultado será incerto.

    //+------------------------------------------------------------------+
    //| Classe básica abstrata |
    //+------------------------------------------------------------------+
    class CAnimal
    {
    public:
    //--- função virtual única
    virtual void Sound(void)=NULL;
    //--- função
    void CallSound(void) { Sound(); }
    //--- construtor
    CAnimal()
    {
    //--- chamada explícita para um método virtual
    Sound();
    //--- chamada implícita (através de uma terceira função)
    CallSound();
    //--- no construtor e/ou destruidor sempre são chamadas suas funções,
    //--- apesar da virtualidade e substituíção da função chamada no descendente
    //--- se a função chamada for meramente virutal (pura), então,
    //--- a chamada irá resultar no erro de execução: "pure virtual function call"
    }
    };


    No entanto, os construtores e destruidores de classes abstratas podem chamar outras funções membro.

    Though trading on financial markets involves high risk, it can still generate extra income in case you apply the right approach. By choosing a reliable broker such as InstaForex you get access to the international financial markets and open your way towards financial independence. You can sign up here.


  2. The Following User Says Thank You to usuarioforum For This Useful Post:

    Não registrado (1 )

+ Responder ao Tópico

Permissões de postagens

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts