3
respostas

Classe

No entiendo esta sintaxe. Se cliente é um atributo da conta como posso guardar Victor se nao sei se cliente é uma variavel do tipo string, int?

Conta umaConta = new Conta();
umaConta.cliente = victor;
3 respostas

Oi de novo Janile :)

Acho que postou esta dúvida antes da outra né? Vamos lá

Neste caso, provavelmente a classe Conta está definida mais ou menos assim né?

class Conta {
    public:
    Conta();
    string cliente;
};

Com isso, quando você instanciar um objeto da classe Conta, seu programa irá saber que o atributo "cliente" desta classe é uma string.

Minha duvida persiste porque no topico 8 Composicao de classes eu tenho o seguinte:

class Cliente 
{
    public string nome;
    public string cpf;
    public string rg;
    public string endereco;
}
Sabemos também que toda conta está associada a um cliente, ou seja, a conta guarda uma referência ao cliente associado.

class Conta 
{
    // outros atributos da Conta

    public Cliente cliente;

    // comportamentos da conta
}
Agora, quando vamos criar uma conta, podemos também colocar um cliente.

Cliente victor = new Cliente();
victor.nome = "victor";

Conta umaConta = new Conta();
umaConta.cliente = victor;

Entao, nao entendo como "umaconta.cliente = victor". Nao entendo como essa variavel pode guardar victor se nao sei se é uma string um int.

Hmmm, entendi...

Talvez o que te confundiu foi a repetição de victor no código, mas o victor (sem aspas) na verdade é um objeto da classe Cliente. Em quanto o "victor" (com aspas) é uma string.

O código estaria mais claro se estivesse assim:

Cliente novo_cliente = new Cliente();
novo_cliente.nome = "victor";

Conta umaConta = new Conta();
umaConta.cliente = novo_cliente;

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