#include <iostream>
using namespace std;
class Conta {
private:
double saldo = 0.0;
public:
void depositar(double valor) { saldo += valor; }
void sacar(double valor) { saldo -= valor; }
double getSaldo() { return saldo; }
};
int main() {
Conta c;
c.depositar(200);
c.sacar(50);
cout << c.getSaldo();
}
O que o código acima imprime?
a) 200
b) 150
c) 250
#include <iostream>
using namespace std;
class Conta {
private:
double saldo = 0.0;
public:
void depositar(double valor) { saldo += valor; }
void sacar(double valor) { saldo -= valor; }
double getSaldo() { return saldo; }
};
int main() {
Conta c;
c.depositar(200);
c.sacar(50);
cout << c.getSaldo();
}
a) 200
b) 150
c) 250
Passo 1
O enunciado mostra um programa em C++ e pergunta qual dos três valores será impresso na tela. Informações relevantes dadas pelo enunciado:
- A classe tem um membro privado chamado
inicializado com . - A classe possui os métodos públicos:
-
que faz . -
que faz . -
que retorna .
-
- No
é executado: - criação do objeto
da classe. - chamada
. - chamada
. - impressão do resultado com
.
- criação do objeto
- Alternativas oferecidas:
- a)
- b)
- c)
- a)
Passo 2
Entendendo cada peça do código (explicação didática das partes que afetam o resultado):
- O membro
é um número do tipo double que começa valendo . Isso significa que, ao criar um objeto da classe, já contém . - O método
recebe um parâmetro chamado e executa a operação . Aqui, o operador significa “some ao valor atual de o que está em e guarde o resultado em ”. - O método
recebe um parâmetro e executa . O operador significa “subtraia de o que está em e guarde o resultado em ”. - O método
apenas devolve o valor atual de , que depois é enviado para saída com .
Passo 3
Aplicando ao programa — passo da criação e primeiro método:
- Ao criar
, inicializamos com . - Em seguida chama-se
. Isso faz: - cálculo:
. - substituindo o valor atual:
. - então, após o depósito, o valor de
é (ou considerando que é um double).
- cálculo:
Passo 4
Aplicando o segundo método — retirada:
- Depois temos
. Isso faz: - cálculo:
. - usando o
atual: . - portanto, após o saque,
vale .
- cálculo:
Passo 5
O que é impresso:
- O programa faz
. Como retorna o valor atual de , o que será enviado para a saída é . - Em C++, imprimir um double com esse valor normalmente exibirá algo como
(pode aparecer sem casas decimais visíveis se for um número inteiro representado como double).
Passo 6
Conclusão final e escolha da alternativa correta:
- Seguindo as operações passo a passo chegamos ao valor final
, que corresponde à alternativa b).
Resposta
b)