Từ khóa toán tử khai báo một hàm xác định ý nghĩa của ký hiệu toán tử khi áp dụng cho các thể hiện của một lớp. Điều này cung cấp cho toán tử nhiều hơn một ý nghĩa, hoặc "quá tải" nó. Trình biên dịch phân biệt giữa các ý nghĩa khác nhau của một toán tử bằng cách kiểm tra các loại toán hạng của nó.
Các toán tử một ngôi hoạt động trên một toán hạng đơn và sau đây là các ví dụ về toán tử một ngôi -
- Toán tử tăng (++) và giảm (-).
- Toán tử trừ (-) một bậc.
- Toán tử logic not (!).
Các toán tử một ngôi hoạt động trên đối tượng mà chúng được gọi và thông thường, toán tử này xuất hiện ở phía bên trái của đối tượng, như trong! Obj, -obj và ++ obj nhưng đôi khi chúng có thể được sử dụng làm hậu tố cũng như obj ++ hoặc obj--.
Ví dụ sau giải thích cách toán tử dấu trừ (-) có thể được nạp chồng khi sử dụng tiền tố -
Ví dụ
#include <iostream> using namespace std; class Distance { private: int feet; int inches; public: // Constructor Distance(int f, int i) { feet = f; inches = i; } // method to display distance void display() { cout << "F: " << feet << " I:" << inches <<endl; } // overloaded minus(-) operator Distance operator-() { feet = -feet; inches = -inches; return Distance(feet, inches); } }; int main() { Distance D1(3, 4), D2(-1, 10); !D1; D1.display(); !D2; D2.display(); return 0; }
Đầu ra
Điều này sẽ cung cấp đầu ra -
F: -3 I:-4 F: 1 I:-10