Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Instanciando Classes

class Cliente 
{
    public string nome;
    public string cpf;
    public string rg;
    public string endereco;
}

class Conta 
{
    // outros atributos da Conta

    public Cliente cliente;

    // comportamentos da conta
}

Ao instanciar a classe Conta e inserir um cliente, eu tenho que usar o new na classe Cliente também? Ou apenas usar new na Conta e ao inserir, usar variavel.cliente.nome = "João"?

1 resposta
solução

Olá Ludgero, tudo bom?

É necessário instanciar um novo objeto Cliente sim, e isso pode ser feito de três maneiras:

{ // criar e configurar o cliente fora da conta
  Conta conta = new Conta();
  Cliente cliente = new Cliente();
  cliente.nome = "João";
  cliente.endereco = "Rua do João, 0";
  conta.cliente = cliente;
}

{ // criar e configurar o cliente dentro da conta
  Conta conta = new Conta();
  conta.cliente = new Cliente();
  conta.cliente.nome = "João";
  conta.cliente.endereco = "Rua do João, 0";
}

{ // instanciar o cliente junto com a conta e só configurar fora
  class Conta {
    public Cliente cliente = new Cliente();
    // outros atributos e comportamentos
  }

  Conta conta = new Conta();
  conta.cliente.nome = "João";
  conta.cliente.endereco = "Rua do João, 0";
}

Que tal? Na verdade ainda existem outras opções (como por exemplo utilizar construtores customizados), mas acho que essas são as mais adequadas para o momento atual do seu aprendizado.

Espero ter ajudado, mas qualquer dúvida não hesite em discorrer por aqui ou em um novo tópico!

Um abraço e bons estudos!