Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Nạp chồng toán tử tăng ++ và giảm -- trong C++

Toán tử tăng (++) và giảm (--) là hai toán tử đơn ngôi quan trọng trong C++. Ví dụ sau minh họa cách nạp chồng toán tử tăng (++) cho cả trường hợp tiền tố (prefix) và hậu tố (postfix). Bạn có thể nạp chồng toán tử giảm (--) theo cách tương tự.

Ví dụ

#include <iostream>
using namespace std;

class Time {
private:
    int hours;
    int minutes;
public:
    Time(int h, int m) {
        hours = h;
        minutes = m;
    }
    void display() {
        cout << "H: " << hours << " M:" << minutes << endl;
    }
    // Nạp chồng toán tử ++ tiền tố
    Time operator++() {
        ++minutes;  // Tăng đối tượng hiện tại
        if (minutes >= 60) {
            ++hours;
            minutes -= 60;
        }
        return Time(hours, minutes);
    }
    // Nạp chồng toán tử ++ hậu tố
    Time operator++(int) {
        Time T(hours, minutes);  // Lưu giá trị cũ
        ++minutes;               // Tăng đối tượng hiện tại
        if (minutes >= 60) {
            ++hours;
            minutes -= 60;
        }
        return T;  // Trả về giá trị cũ ban đầu
    }
};

int main() {
    Time T1(11, 59), T2(10, 40);
    ++T1;
    T1.display();
    ++T1;
    T1.display();
    T2++;
    T2.display();
    T2++;
    T2.display();
    return 0;
}

Kết quả

Chương trình cho kết quả:

H: 12 M:0
H: 12 M:1
H: 10 M:41
H: 10 M:42