Nạp chồng toán tử một ngôi trong C++

Toán tử một ngôi (unary) trong C++ hoạt động trên một toán hạng đơn và dưới đây là một số ví dụ về toán tử một ngôi:

Nạp chồng toán tử tăng (++) và toán tử giảm (--) trong C++.

Toán tử một ngôi (-) trong C++

Toán tử logic phủ định (!) trong 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ì toán tử này xuất hiện bên trái đối tượng, dạng như: !obj, -obj, và ++obj, nhưng đôi khi chúng có thể sử dụng như là hậu tố giống như obj++ hoặc obj--.

Ví dụ sau giải thích cách toán tử (-) có thể được nạp chồng với sự sử dụng tiền tố cũng như hậu tố.

#include <iostream>
using namespace std;
 
class KhoangCach
{
   private:
      int met;         
      int centimet;    
   public:
      // khai bao cac constructor
      KhoangCach(){
         met = 0;
         centimet = 0;
      }
      KhoangCach(int m, int c){
         met = m;
         centimet = c;
      }
      // phuong thuc de hien thi khoang cach
      void hienthiKC()
      {
         cout << "Khoang cach bang m la: " << met << endl;
         cout << "Khoang cach bang cm la: " << centimet << endl;
         cout << "\n\n================================\n\n" << endl;
      }
      // nap chong toan tu (-)
      KhoangCach operator- ()  
      {
         met = -met;
         centimet = -centimet;
         return KhoangCach(met, centimet);
      }
};
int main()
{
   KhoangCach K1(20, 6), K2(-6, 15);
 
   -K1;                     // ap dung su phu dinh
   K1.hienthiKC();    // hien thi K1

   -K2;                     // ap dung su phu dinh
   K2.hienthiKC();    // hien thi K2

   return 0;
}

Biên dịch và chạy chương trình C++ trên sẽ cho kết quả sau:

Nạp chồng toán tử một ngôi trong C++

Hi vọng ví dụ trên sẽ giúp bạn hiểu rõ khái niệm này và bạn có thể áp dụng cho nạp chồng toán tử (!) trong C++.

Theo Tutorialspoint

Bài trước: Nạp chồng toán tử và Nạp chồng hàm trong C++

Bài tiếp: Nạp chồng toán tử nhị phân trong C++

Thứ Tư, 08/08/2018 11:24
51 👨 1.281
Xác thực tài khoản!

Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:

Số điện thoại chưa đúng định dạng!
Số điện thoại này đã được xác thực!
Bạn có thể dùng Sđt này đăng nhập tại đây!
Lỗi gửi SMS, liên hệ Admin
0 Bình luận
Sắp xếp theo
❖
    ❖ Lập trình C++
    Chia sẻ
    Chia sẻ FacebookChia sẻ Twitter
    Đóng