عملگرهای یگانی روی یک عملوند کار میکنند. مثالهای زیر نمونهای از عملگرهای یگانی هستند.
- عملگر افزایش (++) و کاهش (- -)
- عملگر یگانی منفی (-)
- عملگر منطقی نفی (!)
عملگرهای یگانی روی اشیا نیز کار میکنند و در حالت نرمال، عملگر در سمت چپ شی قرار میگیرد، مانند obj ،-obj ،++obj!، اما میتوان این عملگرها را به صورت پسوندی نیز استفاده کرد مانند: ++obj و – -obj.
مثال زیر نحوه اورلود کردن عملگر منفی (-) به صورت پیشوندی و پسوندی را نشان می دهد.
#include <iostream> using namespace std; class Distance { private: int feet; // 0 to infinite int inches; // 0 to 12 public: // required constructors Distance() { feet = 0; inches = 0; } Distance(int f, int i) { feet = f; inches = i; } // method to display distance void displayDistance() { cout << "F: " << feet << " I:" << inches <<endl; } // overloaded minus (-) operator Distance operator- () { feet = -feet; inches = -inches; return Distance(feet, inches); } }; int main() { Distance D1(11, 10), D2(-5, 11); -D1; // apply negation D1.displayDistance(); // display D1 -D2; // apply negation D2.displayDistance(); // display D2 return 0; }
خروجی این کد به صورت زیر خواهد بود.
F: -11 I:-10 F: 5 I:-11
امیدواریم مثال بالا مفهوم اورلود را برای شما روشن ساخته باشد و هم اکنون بتوانید این مفهوم را برای عملگر نفی (!) نیز استفاده کنید.
منبع: ترجمه از سایت tutorialspoint.com
در جلسه بعدی آموزش ++C با ما همراه باشید.
اگر این نوشته برایتان مفید بود لطفا کامنت بنویسید.