Menu
Coddy logo textTech

Итоги — Простой калькулятор

Часть раздела Объектно-ориентированное программирование путешествия по C++ на Coddy — урок 11 из 104.

challenge icon

Задание

Сложно

Создайте полноценный класс Calculator, который объединяет все изученные вами концепции:

  • Заголовочные файлы и файлы исходного кода — Разделите объявление и реализацию
  • Пространство имен — Поместите класс внутрь CalcApp
  • Приватные атрибутыname (string), memory (int), operationCount (int)
  • Конструкторы — Параметризованный (name) и по умолчанию ("Standard")
  • Указатель this — Используйте this-> для доступа ко всем членам класса
  • Методыadd, subtract, multiply, divide (каждый сохраняет результат в memory и увеличивает счетчик операций)
  • ГеттерыgetName(), getMemory(), getOperationCount()

divide должен возвращать 0 при делении на ноль.

Попробуйте сами

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

Все уроки раздела Объектно-ориентированное программирование