Nạp chồng toán tử gọi hàm () trong C++

Toán tử gọi hàm () trong C++ có thể được nạp chồng cho các đối tượng của kiểu lớp. Khi bạn nạp chồng (), bạn đang không tạo một cách mới để gọi một hàm. Đúng hơn là, bạn đang tạo một hàm toán tử mà có thể được truyền số tham số tùy ý.

Ví dụ sau minh họa cách nạp chồng toán tử gọi hàm () trong C++:

#include <iostream>
using namespace std;
 
class KhoangCach
{
   private:
      int met;             
      int centimet;           
   public:
      // phan khai bao cac constructor can thiet
      KhoangCach(){
         met = 0;
         centimet = 0;
      }
      KhoangCach(int m, int c){
         met = m;
         centimet = c;
      }
      // nap chong toan tu goi ham ()
      KhoangCach operator()(int x, int y, int z)
      {
         KhoangCach K;
         // bay gio, dat phep tinh bat ky
         K.met = x + y + 5;
         K.centimet = y - z + 20 ;
         return K;
      }
      // Phuong thuc de hien thi khoang cach
      void hienthiKC()
      {
         cout << "\nDo dai bang m la: " << met <<  "\nVa do dai bang cm la: " <<  centimet << endl;
      }
      
};
int main()
{
   KhoangCach K1(24, 36), K2;

   cout << "Khoang cach dau tien la: "; 
   K1.hienthiKC();

   K2 = K1(15, 15, 15); // trieu hoi toan tu ()
   cout << "\n--------------------------\n"; 
   cout << "Khoang cach thu hai la: "; 
   K2.hienthiKC();

   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ử gọi hàm () trong C++

Theo Tutorialspoint

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

Bài tiếp: Nạp chồng toán tử subscript [] trong C++

Thứ Tư, 08/08/2018 16:08
51 👨 1.326
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++