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

Quy tắc nạp chồng toán tử trong C++


Trong C++, nó hỗ trợ đa hình tại thời gian biên dịch (compile-time polymorphism). Ví dụ của đa hình tại thời gian biên dịch là nạp chồng hàm (function overloading) và nạp chồng toán tử (operator overloading).

Có một số quy tắc cho nạp chồng toán tử. Các quy tắc này như sau:

  • Chỉ các toán tử tích hợp (built-in) mới có thể được nạp chồng. Nếu một số toán tử không có trong C++, chúng ta không thể nạp chồng chúng.
  • Số lượng toán hạng (arity) của các toán tử không thể thay đổi.
  • Độ ưu tiên (precedence) của các toán tử giữ nguyên.
  • Toán tử nạp chồng không thể giữ tham số mặc định trừ toán tử gọi hàm "()".
  • Chúng ta không thể nạp chồng toán tử cho các kiểu dữ liệu tích hợp. Ít nhất một kiểu dữ liệu do người dùng định nghĩa phải có mặt.
  • Toán tử gán "=", chỉ mục "[]", gọi hàm "()", và toán tử mũi tên "->" phải được định nghĩa là hàm thành viên (member functions), không phải hàm bạn (friend functions).
  • Một số toán tử như gán "=", lấy địa chỉ "&", và dấu phẩy "," được nạp chồng mặc định.