Menu
CoddyTech

Ôn tập: máy tính đơn giản

Thuộc phần Lập trình hướng đối tượng trong hành trình C++ của Coddy. Bài học 11 trên 104.

challenge icon

Thử thách

Khó

Xây dựng một lớp Calculator hoàn chỉnh, kết hợp tất cả các khái niệm bạn đã học:

  • Tệp tiêu đề/tệp nguồn: Tách riêng phần khai báo và phần triển khai
  • Không gian tên: Đặt lớp bên trong CalcApp
  • Thuộc tính riêng tư: name (string), memory (int), operationCount (int)
  • Hàm khởi tạo: Có tham số (name) và mặc định ("Standard")
  • Con trỏ this: Dùng this-> để truy cập tất cả thành viên
  • Phương thức: add, subtract, multiply, divide (mỗi phương thức lưu kết quả vào bộ nhớ và tăng số lượng phép toán)
  • Hàm truy cập: getName(), getMemory(), getOperationCount()

divide phải trả về 0 khi chia cho 0.

Tự làm thử

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

Tất cả bài học trong Lập trình hướng đối tượng

Tự luyện tập: Trình biên dịch C++ online