Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Erro: Referência de objeto não definida para uma instância de um objeto

Estou com duvida no exercicio 3 da aula 9, o exercício em si é simples porém quando eu compilo e clico no botão aparece o erro "Referência de objeto não definida para uma instância de um objeto" e marca a linha " if (this.cliente.EhMaiorDeIdade())" na classe conta

class Conta
    {
        public int numero;
        public double saldo;
        public Cliente cliente;


        public bool Saca(double valor)
        {
            if (valor > this.saldo || valor < 0)
            {
                // nesse caso não posso fazer o saque então devolverei false
                return false;
            }
            else
            {
                if (this.cliente.EhMaiorDeIdade())
                {
                    this.saldo -= valor;
                    // consegui sacar, então vou devolver true
                    return true;
                }
                else
                {
                    if (valor <= 200)
                    {
                        this.saldo -= valor;
                        return true;
                    }
                    else
                    {
                        return false;
                    }
                }

            }
        }
            public void Deposita(double valor)
            {
                if (valor >= 0)
                {
                    this.saldo += valor;
                }
            }
            public void Transfere(double valor, Conta destino)
            {
                this.Saca(valor);
                destino.Deposita(valor);
            }
            public double CalculaRendimentoAnual()
            {
                double saldoNaqueleMes = this.saldo;

                for (int i = 0; i < 12; i++)
                {
                    saldoNaqueleMes = saldoNaqueleMes * 1.007;
                }

                double rendimento = saldoNaqueleMes - this.saldo;

                return rendimento;
            }
    }
2 respostas
solução!

Rafael, provavelmente faltou instanciar a variável "cliente", veja se no formulário em algum momento você está fazendo algo como:

conta.cliente = new Cliente();

Se quiser, cole o código do seu formulário :)

Gabriel, obrigado pela ajuda, assim que postei a pergunta aqui no fórum eu percebi o erro, era exatamente isso eu tinha esquecido de instanciar a variável.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software