Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Erro Cliente Conta

Tenho as classes:

class Conta
 {
        public double saldo { get; protected set; }
        public int numero;
        public Cliente titular;
        public int agencia;
}
class Cliente
{
        public string Nome;
        public string rg;
        public string cpf;
        public string endereco;

        public int idade;

        public Cliente (string nome)
        {
            this.Nome = nome;
        }

        public Cliente ()
        {

        }
}

e no form1 estou criando um array de contas:

public partial class Form1 : Form
{
        private Conta[] contas;

        public Form1()
        {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            this.contas = new Conta[2];

            contas[0].titular = new Cliente("André");
            contas[1].titular = new Cliente("Renata");
        }
}

Ao compilar está dando erro de 'Referência de objeto não definida para uma instância de um objeto.' no instanciamento da classe cliente.

Alguém sabe me disser porque?

1 resposta
solução!

Olá André, boa noite.

Experimente dessa maneira:

private void Form1_Load(object sender, EventArgs e)
        {
            contas = new Conta[2];
            Conta contaDoAndre = new Conta();
            contaDoAndre.titular = new Cliente();
            contaDoAndre.titular.Nome = "Andre";
            contas[0] = contaDoAndre;


            Conta contaDaRenata = new Conta();
            contaDaRenata.titular = new Cliente();
            contaDaRenata.titular.Nome = "Renata";
            contas[1] = contaDaRenata;

            MessageBox.Show(contaDaRenata.titular.Nome);
            MessageBox.Show(contaDoAndre.titular.Nome);
        }

Você só criou criou o vetor de contas. não colocou nenhum objeto dentro do vetor, logo sem objeto dentro do vetor, não tem como trocar o nome.

Você deve criar o objeto Cliente primeiro, para depois dar nome a ele. Para ai então poder guardar o objeto nomeado na sua lista de contas.