none
Classe Abstrata RRS feed

  • Pergunta

  • Pessoal,

    Criei a seguinte Classe Abstrata:

    Code Snippet

    ref class Arquivo {

    public:
        Arquivo( System::String^ );

        void setNomeArquivo( System::String^ );
        void setDiretorioArquivo( System::String^ );
        void setExtensaoArquivo( System::String^ );

        System::String^ getNomeArquivo( void );
        System::String^ getDiretorioArquivo( void );
        System::String^ getExtensaoArquivo( void );

        System::String^ getDadosArquivo( void );

    private:

        virtual void CarregarArquivoMemoria() = 0 ;

        System::String ^NomeArquivo;
        System::String ^DiretorioArquivo;
        System::String ^ExtensaoArquivo;

        System::String ^DadosArquivo;

    };



    Em negrito está a minha função virtual pura, que torna minha classe Abstrata.
    O programa está funcionando mas está aparecendo os seguintes warning

    1>..\Arquivo.h(20) : warning C4486: 'Arquivo::CarregarArquivoMemoria' : a private virtual method of a ref class or value class should be marked 'sealed'
    1>..\Arquivo.h(3) : warning C4570: 'Arquivo' : is not explicitly declared as abstract but has abstract functions
    1>        'void Arquivo::CarregarArquivoMemoria(void)' : is abstract

    PS: Já coloquei o cabeçalho da classe como:  abstract class Arquivo { ...
    quinta-feira, 3 de julho de 2008 15:41

Todas as Respostas