Menu
Coddy logo textTech

Riepilogo - Calcolatrice semplice

Fa parte della sezione Programmazione orientata agli oggetti del percorso C++ di Coddy. Lezione 11 di 104.

challenge icon

Sfida

Difficile

Crea una classe Calculator completa che combini tutti i concetti che hai imparato:

  • File header/sorgente: separa la dichiarazione dall'implementazione
  • Namespace: inserisci la classe in CalcApp
  • Attributi privati: name (stringa), memory (int), operationCount (int)
  • Costruttori: con parametri (name) e predefinito ("Standard")
  • Puntatore this: usa this-> per accedere a tutti i membri
  • Metodi: add, subtract, multiply, divide (ognuno salva il risultato in memory e incrementa il conteggio delle operazioni)
  • Metodi getter: getName(), getMemory(), getOperationCount()

divide dovrebbe restituire 0 quando si divide per zero.

Provalo tu

#include <iostream>
#include "Calculator.h"

int main() {
    std::string name;
    int a, b;
    std::getline(std::cin, name);
    std::cin >> a >> b;
    
    CalcApp::Calculator calc(name);
    
    std::cout << "Calculator: " << calc.getName() << std::endl;
    std::cout << "Memory: " << calc.getMemory() << std::endl;
    std::cout << "Add: " << calc.add(a, b) << std::endl;
    std::cout << "Subtract: " << calc.subtract(a, b) << std::endl;
    std::cout << "Multiply: " << calc.multiply(a, b) << std::endl;
    std::cout << "Divide: " << calc.divide(a, b) << std::endl;
    std::cout << "Divide by zero: " << calc.divide(a, 0) << std::endl;
    std::cout << "Memory: " << calc.getMemory() << std::endl;
    std::cout << "Operations: " << calc.getOperationCount() << std::endl;
    return 0;
}

Tutte le lezioni di Programmazione orientata agli oggetti

Esercitati da solo: Compilatore C++ online