#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

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 saldo inicializado com 0,0.
  • A classe possui os métodos públicos:
    • depositar(double\;valor) que faz saldo += valor.
    • sacar(double\;valor) que faz saldo -= valor.
    • getSaldo() que retorna saldo.
  • No \textit{main} é executado:
    • criação do objeto c da classe.
    • chamada c.depositar(200).
    • chamada c.sacar(50).
    • impressão do resultado com cout << c.getSaldo().
  • Alternativas oferecidas:
    • a) 200
    • b) 150
    • c) 250

Passo 2

Entendendo cada peça do código (explicação didática das partes que afetam o resultado):
  • O membro saldo é um número do tipo double que começa valendo 0,0. Isso significa que, ao criar um objeto da classe, saldo já contém 0,0.
  • O método depositar recebe um parâmetro chamado valor e executa a operação saldo += valor. Aqui, o operador += significa “some ao valor atual de saldo o que está em valor e guarde o resultado em saldo”.
  • O método sacar recebe um parâmetro valor e executa saldo -= valor. O operador -= significa “subtraia de saldo o que está em valor e guarde o resultado em saldo”.
  • O método getSaldo() apenas devolve o valor atual de saldo, que depois é enviado para saída com cout.

Passo 3

Aplicando ao programa — passo da criação e primeiro método:
  • Ao criar c, inicializamos saldo com 0,0.
  • Em seguida chama-se c.depositar(200). Isso faz:
    • cálculo: saldo = saldo + 200.
    • substituindo o valor atual: saldo = 0,0 + 200 = 200.
    • então, após o depósito, o valor de saldo é 200 (ou 200,0 considerando que é um double).

Passo 4

Aplicando o segundo método — retirada:
  • Depois temos c.sacar(50). Isso faz:
    • cálculo: saldo = saldo - 50.
    • usando o saldo atual: saldo = 200 - 50 = 150.
    • portanto, após o saque, saldo vale 150.

Passo 5

O que é impresso:
  • O programa faz cout << c.getSaldo(). Como getSaldo() retorna o valor atual de saldo, o que será enviado para a saída é 150.
  • Em C++, imprimir um double com esse valor normalmente exibirá algo como 150 (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 150, que corresponde à alternativa b).

Resposta

b) 150