O erro não pode chamar a função do membro sem objeto C ++

O erro não pode chamar a função do membro sem objeto C ++
A linguagem de programação é um pacote de conceitos diferentes, funções internas e operações; Também vem com muitos erros. Esses erros podem ser do tipo lógico, erros de sintaxe e outros também. Você pode obter muitos erros enquanto codifica quando cometer alguns erros lógicos ou de sintaxe no código. Um dos erros de muitas dessas exceções é “não pode chamar a função de membro sem objeto”. Ocorre quando tentamos chamar uma função em nosso programa sem fazer um objeto de classe. Portanto, este guia contém exemplos para fazer esse erro acontecer e a solução para resolvê -lo. Certifique -se de trabalhar no Ubuntu 20.04 Sistema e inicie o terminal via “Ctrl+Alt+T”. Vamos começar com os exemplos.

Exemplo 01:

Vamos começar nosso primeiro exemplo para elaborar como recebemos o erro "Não pode chamar a função do membro sem objeto" no código C ++. Então, a primeira coisa que precisamos fazer é criar um arquivo C ++. Este arquivo pode ser criado com algum editor de texto dentro do arquivo explorador ou dentro do shell. Você pode tentar abri -lo com o editor do VIM, editor de texto ou algum outro editor como o GNU Nano Editor. Então, estamos abrindo diretamente este arquivo recém -criado no GNU Nano Editor usando o comando "nano". Agora, o arquivo vazio recém -criado é lançado no editor Nano e pronto para ser usado.

Temos iniciado nosso código com a adição de alguns arquivos de cabeçalho, eu.e., “Iostream”. Você pode usar o espaço para nome "DST" no código enquanto o declara antes da função principal. Caso contrário, você deve usar a palavra -chave "std" com todas as cláusulas Cout e CIN do programa. Então, nós inicializamos antes do método principal usando a palavra -chave "usando". Criamos uma classe simples chamada "A" no código. Esta classe contém uma única função definida pelo usuário chamada "show ()". A função contém a declaração de uma variável de tipo de caractere chamada "a". A primeira declaração cout desta função pede que um personagem seja adicionado por um usuário. A cláusula "CIN" permite que um usuário adicione esse personagem no shell e salve -o na variável "a". A última declaração Cout foi usada aqui para exibir o personagem no shell que o usuário tem entrada.

Agora a aula terminou, e nós iniciamos o método principal. É hora de chamar a função para executá -la sem usar mais nada. Então, simplesmente usamos o nome da classe "A" com "::" para chamar a função "show ()" no método principal. O método principal está fechado aqui. Estamos prontos para salvar este código com Ctrl+s, pois já está completo.

Volte ao terminal usando “Ctrl+X. Agora, é hora de compilar o código com o compilador interno C ++ do Ubuntu 20.04. Assim, usamos a instrução do compilador "G ++" aqui para simplesmente compilar o arquivo de código e ver se ele é livre de erros ou não. Na compilação, mostra o erro. Isso significa que não podemos simplesmente executar ou chamar a função show () da classe "A" sem criar um objeto desta classe.

Então, precisamos atualizar o arquivo de código mais uma vez. Utilize o editor Nano mais uma vez e resolva este erro. Então o arquivo antigo é aberto novamente. Precisamos alterar apenas a função principal () para iludir esse erro até agora. Então, criamos um objeto "obj" da classe "A". Agora, esse objeto "OBJ" foi usado aqui para chamar o show da função () da classe "A" usando o "ponto" entre o nome do objeto e o nome da função. Salve o código para refletir as mudanças na execução usando a chave de atalho simples, i i.e., “Ctrl+S”. O código atualizado foi exibido na imagem abaixo. Vamos voltar ao terminal para compilar o código atualizado usando "Ctrl+X".

Utilizou a instrução do compilador "G ++" para fins de compilação de código. Não temos nenhum erro desta vez. Na execução do código, temos o resultado mostrado abaixo. Pediu para entrar no personagem, adicionando "a". Em troca, ele exibiu o personagem na concha. Usando o objeto para chamar a função show ().

Exemplo 02:

Vamos ter outro exemplo de obter o mesmo erro e resolvê -lo depois. Então, abrimos o erro do arquivo.CC e criou o código abaixo da maspra. Este código foi iniciado no arquivo de cabeçalho iostream, namespace std e terminou no método principal. Nosso programa contém duas classes, A e B. A é a classe pai e B é a classe infantil de uma herdeira de suas propriedades aqui. A classe A dos pais contém uma função "print ()" com uma única declaração exibindo que esta é uma função de classe pai. A classe infantil contém uma função "show ()" com uma declaração cout exibindo que o método da classe infantil foi executado. A função principal () contém um método simples "::" para chamar os dois métodos usando suas respectivas classes, eu.e., "A" e "B". Vamos apenas executar este código para ver como funciona.

Quando compilamos o código, recebemos o erro de exceção dizendo "não pode chamar a função do membro sem objeto" para as duas chamadas de função. Isso ocorre porque não criamos objetos para chamar as funções das respectivas classes e fizemos isso diretamente.

Vamos apenas abrir o arquivo mais uma vez usando o "editor de nano". Não há necessidade de alterar todo o código; Somente o método principal () requer um pouco de modificação. Como você pode dar uma olhada, criamos um objeto Obj1 da classe pai “A” e o usamos para fazer uma chamada de função para imprimir () método. Em seguida, criamos um objeto "Obj2" da Criança Infantil B e fizemos uma chamada de função para funcionar "show ()" aqui para executá -lo. Também podemos evitar fazer do objeto da classe pai "Obj1" e ainda chamar sua função usando o objeto de classe infantil "obj2". Ambas as funções nas classes de pais e filhos têm nomes diferentes, para que não causará nenhum erro. Vamos apenas salvar o arquivo de código com ctrl+s e voltar ao terminal para ver se o erro foi resolvido ou não.

Após a compilação do código atualizado, podemos dar uma olhada em que o erro "não pode chamar a função de membro sem seu objeto" foi removido finalmente e o código está pronto para ser executado. As funções da classe de pai e filho foram executadas como mostrado ao executar o código.

Conclusão:

Este artigo contém uma demonstração simples de criar um erro "não pode chamar a função do membro sem o objeto" no programa C ++. Usamos o conceito de classes aqui para tornar isso possível. Em seguida, também demonstramos a solução para resolver esse erro dentro dos exemplos. Esperamos muito que este artigo seja útil para todos os usuários ingênuos C ++.