Menu
Coddy logo textTech

סיכום – מחשבון פשוט

חלק מהיחידה תכנות מונחה עצמים במסלול ה-C++ של Coddy. שיעור 11 מתוך 104.

challenge icon

אתגר

קשה

בנו מחלקת Calculator מלאה המשלבת את כל המושגים שלמדתם:

  • קובצי כותרת/מקור: הפרידו בין ההצהרה למימוש
  • מרחב שמות: מקמו את המחלקה בתוך CalcApp
  • מאפיינים פרטיים: name (מחרוזת), memory (int), operationCount (int)
  • בנאים: עם פרמטר (name) וברירת מחדל ("Standard")
  • מצביע this: השתמשו ב-this-> לכל גישה לחברי המחלקה
  • מתודות: add, subtract, multiply, divide (כל אחת שומרת את התוצאה בזיכרון ומגדילה את מונה הפעולות)
  • פעולות גישה: 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;
}

כל השיעורים ביחידה תכנות מונחה עצמים

תרגלו בעצמכם: קומפיילר C++ אונליין