Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 103 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
103
Dung lượng
4,44 MB
Nội dung
Chương TỐN TỨ TẢI BỘI Chương trình bày vắn để sau: 'r Định nghĩa toán tư tai bội r M ội Số lưu ý xây dựng tồn tư tai bội 'r Mộl Số VÍ dụ minh họa 4.1 Định nghĩa toán tử tải bội Các toán từ tên thực nhiều chức khác gọi toán từ tải bội Dạng định nghĩa tồng quát toán từ tải bội sau: Kiểu_trả_về operator op(danh sách tham số) {//thân tốn từ} Trong đó: Kiểu_trả_về kiểu kết thực toán tử op tên toán tử tải bội operator op (danh sách tham số) eoi hàm tốn tử tải bơi hàm thành phần hàm bạn, hàm ứnh Danh sách tham số khai báo tương tự khai báo biến phải tuân theo quy định sau: - Nếu toán tử tải bội hàm thành phẩn thì: khơng có tham số cho tốn tử ngơi tham số cho tốn tử hai ngơi Cũng giống hàm thành phần thơng thường, hàm thành phần tốn tử có đối (không tường minh) ưỏ this - Neu tốn tử tái bội hàm bạn thì: có tham số cho tốn tử ngơi hai tham số cho tốn tử hai ngơi 111 Q trình xây dựng tốn tử tải bội thực sau: - Định nghĩa lớp để xác định kiểu liệu sử dụng toán từ tải bội - Khai báo hàm toán từ tải bội vùng public lớp - Định nghĩa nội dung cần thực 4.2 Một sé lưu ý xây dựng tốn tử tài bội Trong C++ ta đưa nhiều định nghĩa cho hầu hết toán tử ữong C++, ngoại trừ toán tử sau đây: - Toán tử xác định thành phần lớp (V) - Toán tử phân giải miền xác định - Tốn tử xác định kích thước (‘sizeof) - Tốn từ điều kiện (*?:’) Mặc dù ngữ nghĩa toán tử mờ rộng cú pháp, quy tắc văn phạm số toán hạng, quyền ưu tiên thứ tự kết hợp thực tốn tử khơng có thay đổi Không thể thay đổi ý nghĩa tốn tử định nghĩa trước, ví dụ khơng thể định nghĩa lại phép toán +, - số kiểu int, float Các toán tử = , ( ) , [ ] , - > yêu cầu hàm toán từ phải hàm thành phần lớp, khơng thể dung hàm bạn để định nghĩa tốn tứ tái bội 4.3 Một số ví dụ Ví dụ 4.1 Tốn tử tải bội ngơi, dùng hàm bạn #include #include class Diem { 112 private: float x,y,z; public: Diem() {} Diem(float xl,float yl,float zl) { x = xl; y = yl; z=zl;} friend Diem operator -(Diem d) { Diem dl; dl.x = -d.x; dl.y = -d.y;dl.z=-d.z; return dl; } void hienthi() { cout