Menu
Coddy logo textTech

Powtórzenie – prosty kalkulator

Część sekcji Programowanie obiektowe ścieżki C++ w Coddy. Lekcja 11 z 104.

challenge icon

Wyzwanie

Trudny

Utwórz kompletną klasę Calculator, która łączy wszystkie poznane przez Ciebie zagadnienia:

  • Pliki nagłówkowe i źródłowe: oddziel deklarację od implementacji
  • Przestrzeń nazw: umieść klasę w CalcApp
  • Prywatne atrybuty: name (string), memory (int), operationCount (int)
  • Konstruktory: z parametrem (name) i domyślny ("Standard")
  • Wskaźnik this: użyj this-> przy każdym dostępie do składowej
  • Metody: add, subtract, multiply, divide (każda zapisuje wynik w pamięci i zwiększa licznik operacji)
  • Gettery: getName(), getMemory(), getOperationCount()

divide powinno zwracać 0 przy dzieleniu przez zero.

Spróbuj swoich sił

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

Wszystkie lekcje w sekcji Programowanie obiektowe

Poćwicz samodzielnie: Kompilator C++ online