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:
Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.
Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:Các bạn có thể mua thêm khóa học JAVA CORE ONLINE VÀ ỨNG DỤNG cực hay, giúp các bạn vượt qua các dự án trên trường và đi thực tập Java. Khóa học có giá chỉ 300K, nhằm ưu đãi, tạo điều kiện cho sinh viên cho thể mua khóa học.
Nội dung khóa học gồm 16 chuơng và 100 video cực hay, học trực tiếp tại https://www.udemy.com/tu-tin-di-lam-voi-kien-thuc-ve-java-core-toan-tap/ Bạn nào có nhu cầu mua, inbox trực tiếp a Tuyền, cựu sinh viên Bách Khoa K53, fb: https://www.facebook.com/tuyen.vietjack
Follow facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.
Bài học C++ phổ biến khác tại vietjack.com: