Menu
Coddy logo textTech

Récapitulatif - Calculatrice simple

Fait partie de la section Programmation Orientée Objet du Journey C++ de Coddy — leçon 11 sur 104.

challenge icon

Défi

Difficile

Construisez une classe Calculator complète qui combine tous les concepts que vous avez appris :

  • Fichiers d'en-tête/source — Séparez la déclaration et l'implémentation
  • Espace de noms (Namespace) — Placez la classe à l'intérieur de CalcApp
  • Attributs privésname (string), memory (int), operationCount (int)
  • Constructeurs — Paramétré (name) et par défaut ("Standard")
  • Pointeur this — Utilisez this-> pour tous les accès aux membres
  • Méthodesadd, subtract, multiply, divide (chacune stocke le résultat en mémoire et incrémente le compteur d'opérations)
  • Accesseurs (Getters)getName(), getMemory(), getOperationCount()

divide doit retourner 0 lors d'une division par zéro.

Essayez vous-même

#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;
}

Toutes les leçons de Programmation Orientée Objet