ইনক্রিমেন্ট (++) এবং ডিক্রিমেন্ট (--) অপারেটর দুটি গুরুত্বপূর্ণ ইউনারি অপারেটর যা C++-এ উপলব্ধ। নিচের উদাহরণে ইনক্রিমেন্ট (++) অপারেটর কীভাবে প্রিফিক্স এবং পোস্টফিক্স উভয় ব্যবহারের জন্য ওভারলোড করা যায় তা দেখানো হয়েছে। একইভাবে, আপনি (--) অপারেটরও ওভারলোড করতে পারেন।
উদাহরণ
#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;
}
// প্রিফিক্স ++ অপারেটর ওভারলোড
Time operator++() {
++minutes;
// বর্তমান অবজেক্ট ইনক্রিমেন্ট
if(minutes >= 60) {
++hours;
minutes -= 60;
}
return Time(hours, minutes);
}
// পোস্টফিক্স ++ অপারেটর ওভারলোড
Time operator++(int) {
Time T(hours, minutes);
// বর্তমান অবজেক্ট ইনক্রিমেন্ট
++minutes;
if(minutes >= 60) {
++hours;
minutes -= 60;
}
// পুরনো মান ফেরত দিন
return T;
}
};
int main() {
Time T1(11, 59), T2(10, 40);
++T1;
T1.display();
++T1;
T1.display();
T2++;
T2.display();
T2++;
T2.display();
return 0;
}
আউটপুট
এটি নিচের ফলাফল দেবে:
H: 12 M:0 H: 12 M:1 H: 10 M:41 H: 10 M:42