Crie uma classe que receba um valor inteiro do usuário e guarde este valor em uma variável alocada dinamicamente. A alocação dinâmica só deve ocorrer depois que o usuário inserir o valor desejado.
Passo 1
Vamos nessa, galerinha.
A questão tem um enunciado bem direto. Pra gente ter uma variável alocada dinamicamente, nós vamos precisar declarar um ponteiro dentro da nossa classe. Para evitar que o ponteiro seja usado fora da classe, esse ponteiro deverá ser privado.
Vamos precisar de um método que receba o valor do usuário, efetue a alocação dinâmica, e depois guarde o valor recebido dentro do espaço alocado.
Já que o ponteiro é privado, vamos precisar de um método que retorne o valor contido no espaço alocado.
E por último, e muito importante, a gente precisa de uma forma de deletar o espaço alocado quando ele deixar de ser útil. Então vamos precisar de um método que delete o espaço alocado.
Passo 2
Então vamos começar. Primeiro de tudo, vamos iniciar a nossa classe, que vamos chamar de
E dentro do contexto privado vamos declarar um ponteiro para inteiro chamado . Para criar um ponteiro dentro de uma classe é só a gente fazer do mesmo jeito que faria com um ponteiro qualquer:
No código fica:
Esse ponteiro vai ser utilizado no momento de alocar memória dinamicamente.
Vamos continuar a desenvolver a classe no próximo passo.
Passo 3
Agora vamos trabalhar os métodos.
Vamos mudar o contexto para público e começar um método que vai receber um valor inteiro do usuário e guardar esse valor em um espaço dinâmico na memória.
Dentro dessa função vamos começar alocando o espaço do tipo inteiro utilizando o operador
E depois que o espaço estiver alocado, podemos armazenar o valor inserido no espaço. Pra isso, vamos acessar o espaço alocado através do ponteiro:
Passo 4
Lembre-se que o ponteiro que criamos é privado. Então precisamos de um método para acessar o valor armazenado dentro do ponteiro. Vamos então criar um método getter.
Esse getter vai simplesmente retornar o valor contido no ponteiro . Cuidado pra não esquecer do operador, pois é ele que acessa o valor contido no endereço de memória.
Passo 5
A gente tá trabalhando com uma variável alocada dinamicamente com o operador . Então não podemos esquecer de que vamos precisar deletar o espaço alocado em algum momento.
Vamos criar uma função que vai ser responsável por isso. Essa função não precisa retornar nada, e nem precisa receber parâmetros. Porém, quando a função for chamada ela vai aplicar o sobre o ponteiro, para liberar o espaço alocado.
E com isso a classe está pronta, e a questão concluída!