Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

Recuperação de elementos

Dúvida! quando escrevo: Conta umaOutraConta("173813", Titular(Cpf("234.873.912-02"), "Gertrudes")), consegui mas tive dificuldade para entender como faço para recuperar cada elemento!

1 resposta

Oi, Davi! Tudo bem?

Sobre a recuperação de elementos em uma Conta usando C++ e Orientação a Objetos, vamos entender como acessar cada informação depois de criar o objeto.

Quando você escreve:

Conta umaOutraConta("173813", Titular(Cpf("234.873.912-02"), "Gertrudes"));

Você está criando um objeto Conta que recebe dois dados: o número da conta e um objeto Titular. Para recuperar essas informações, a classe precisa disponibilizar métodos de acesso, normalmente chamados de getters.

Por exemplo, se a classe Conta tiver algo semelhante a:


class Conta {
private:
    string numero;
    Titular titular;

public:
    string getNumero() {
        return numero;
    }

    Titular getTitular() {
        return titular;
    }
};

O método getNumero() retorna o número da conta, enquanto getTitular() retorna o objeto Titular.

Assim, você poderia fazer:


cout << umaOutraConta.getNumero() << endl;
cout << umaOutraConta.getTitular().getNome() << endl;
cout << umaOutraConta.getTitular().getCpf().getCpf() << endl;

Nesse caso, existe uma sequência de objetos: Conta possui um Titular, que possui um Cpf. Por isso, podemos acessar cada nível chamando o método correspondente.

O resultado seria algo próximo de:


173813
Gertrudes
234.873.912-02

Dica: se durante a atividade você encontrou dificuldade para "recuperar cada elemento", observe quais atributos são private e quais métodos públicos a classe oferece para acessá-los. Em C++, essa separação faz parte do conceito de encapsulamento.

Uma boa prática é manter os atributos privados e fornecer métodos públicos específicos para leitura ou alteração dos valores, em vez de acessar os atributos diretamente.

Você quer aprofundar agora em getters e setters, encapsulamento ou na relação entre Conta, Titular e Cpf?

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!