Menu
Coddy logo textTech

Rückblick – Einfacher Taschenrechner

Teil des Abschnitts Objektorientierte Programmierung der C++-Journey von Coddy. Lektion 11 von 104.

challenge icon

Aufgabe

Schwer

Erstelle eine vollständige Calculator-Klasse, die alle von dir erlernten Konzepte kombiniert:

  • Header-/Quelldateien: Deklaration und Implementierung trennen
  • Namespace: Die Klasse innerhalb von CalcApp platzieren
  • Private Attribute: name (string), memory (int), operationCount (int)
  • Konstruktoren: Parametrisiert (name) und Standardkonstruktor ("Standard")
  • this-Zeiger: this-> für jeden Zugriff auf Member verwenden
  • Methoden: add, subtract, multiply, divide (jede speichert das Ergebnis im Speicher und erhöht den Operationszähler)
  • Getter: getName(), getMemory(), getOperationCount()

divide soll bei einer Division durch null 0 zurückgeben.

Probier es selbst

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

Alle Lektionen in Objektorientierte Programmierung

Übe selbstständig: Online-C++-Compiler