Sử dụng các toán tử với các đối tượng (operator overloading) – đối với một số lớp, sử dụng toán tử trong sáng hơn sử dụng các lời gọi hàm object2 = (object2); object2 = object2 + object1; | 1 Chapter 8 - Operator Overloading Outline Introduction Fundamentals of Operator Overloading Restrictions on Operator Overloading Operator Functions as Class Members vs. as friend Functions Overloading Stream-Insertion and Stream-Extraction Operators Overloading Unary Operators Overloading Binary Operators Case Study Array Class Converting between Types Case Study A String Class Overloading and Case Study A Date Class Standard Library Classes string and vector 2003 Prentice Hall Inc. All rights reserved. 2 Introduction Sử dụng các toán tử với các đối tượng operator overloading - đối với một số lớp sử dụng toán tử trong sáng hơn sử dụng các lời gọi hàm object2 object2 object2 object2 objectl - toán tử cảm ngữ cảnh sensitive to context Ví dụ - chèn vào dòng Stream insertion phép dịch trái nhị phân bitwise left-shift - thực hiện tính cộng cho nhiều kiểu dữ liệu integers floats etc. 2003 Prentice Hall Inc. All rights reserved. 3 Fundamentals of Operator Overloading Các kiểu dữ liệu - Có sẵn Built in int char hoặc kiểu người dùng user-defined - Có thể sử dụng các toán tử có sẵn cho các kiểu dữ liệu người dùng Không thể tạo toán tử mới Overloading operators - Tạo một hàm của lớp - Đặt tên hàm là operator tiếp theo là ký hiệu Operator dành cho phép cộng 2003 Prentice Hall Inc. All rights .