اورلود کردن عملگر فراخوانی تابع () در ++C

عملگر فراخوانی تابع () را می‌توان برای اشیا آن کلاس اورلود کرد. با اورلود کردن عملگر ()، راه جدیدی برای فراخوانی تابع ایجاد نمی‌کنید، بلکه یک تابع عملگر ایجاد خواهید کرد که می‌توان تعداد دلخواهی پارامتر به آن ارسال کرد.

مثال زیر نحوه اورلود کردن عملگر فراخوانی () را نشان می‌دهد.

#include <iostream>
using namespace std;
class Distance {
private:
int feet;             // 0 to infinite
int inches;           // 0 to 12
public:
// required constructors
Distance() {
feet = ;
inches = ;
}
Distance(int f, int i) {
feet = f;
inches = i;
}
// overload function call
Distance operator()(int a, int b, int c) {
Distance D;
// just put random calculation
D.feet = a + c + 10;
D.inches = b + c + 100 ;
return D;
}
// method to display distance
void displayDistance() {
cout << "F: " << feet << " I:" << inches << endl;
}   
};
int main() {
Distance D1(11, 10), D2;
cout << "First Distance : "; 
D1.displayDistance();
D2 = D1(10, 10, 10); // invoke operator()
cout << "Second Distance :"; 
D2.displayDistance();
return ;
}

با اجرای این کد، خروجی زیر تولید می‌شود.

First Distance : F: 11 I:10
Second Distance :F: 30 I:120

منبع: ترجمه از سایت tutorialspoint.com

در جلسه بعدی آموزش ++C با ما همراه باشید.

همچنین لطفا اپلیکیشن اندویدی ما را هم نصب کنید.

دانلود اپلیکیشن میکرو دیزاینر الکترونیک

مطالعه دیگر جلسات این آموزش<< جلسه قبلی                    جلسه بعدی >>
مطلب پیشنهادی:  ساختارداده‌ها در ++C

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *