Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 23 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
23
Dung lượng
1,33 MB
Nội dung
NGƠN NGỮ LẬP TRÌNH Nạp chồng tốn tử 16/04/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN NỘI DUNG • Tại phải nạp chồng tốn tử? • Các cách nạp chồng tốn tử • Nạp chồng toán tử 16/04/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN Tại phải nạp chồng tốn tử? Xét ví dụ sau 16/04/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN Kết luận +, -, *, /, %, Là toán tử xây dựng sẵn Được dùng cho kiểu C/C++ Nhưng chưa dùng cho kiểu người dùng định nghĩa => Muốn dùng phải nạp chồng 16/04/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN Các cách nạp chồng tốn tử Nạp chồng ngồi lớp Hàm nạp chồng khơng phải hàm thành viên lớp Nạp chồng lớp Hàm nạp chồng hàm thành viên lớp Nạp chồng lớp Nạp chồng lớp Cú pháp nạp chồng tốn tử ngơi: kieutrave operator tốntử(kieutoanhang toanhang) Cú pháp nạp chồng tốn tử ngơi: kieutrave operator tốntử(kieutoanhang toanhang1, kieutoanhang toanhang2) Trong đó: operator: từ khóa nạp chồng toán tử Toántử: ký hiệu +, -, *, /, % 16/04/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN Xét ví dụ 16/04/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN Vấn đề Trong hàm nạp chồng sử dụng đến thành phần private đối tượng Hàm nạp chồng không thuộc lớp => không truy cập vào thành phần private 16/04/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 10 Giải pháp Phải truy cập qua hàm thành viên lớp 16/04/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 11 Ví dụ cho giải pháp 16/04/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 12 Giải pháp Sử dụng hàm bạn Hàm bạn hàm truy cập vào thành phần private lớp Phải khai báo hàm bạn lớp Phải có từ khóa friend đầu khai báo hàm 16/04/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 13 Ví dụ cho giải pháp 16/04/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 14 Nạp chồng lớp Nạp chồng lớp Cú pháp nạp chồng tốn tử ngơi: kieutrave operator tốntử() Cú pháp nạp chồng tốn tử ngơi: kieutrave operator tốntử(kieutoanhang toanhang) Trong đó: operator: từ khóa nạp chồng toán tử Toántử: ký hiệu +, -, *, /, % Ví dụ 16/04/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 17 Sự khác biệt cách nạp chồng Nạp chồng lớp có: Số lượng tham số hàm Vì nạp chồng lớp, tốn hạng hiểu đối tượng gọi hàm 16/04/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 18 Bài tập Xây dựng lớp phân số (đặt tên PhanSo) bao gồm: Các thành phần liệu tử số mẫu số Ít hai hàm tạo: hàm tạo mặc định hàm tạo có tham số Phương thức nhập hiển thị liệu cho phân số Xây dựng phương thức nạp chồng toán tử +, - , *, / Viết hàm main, khai báo nhập liệu cho phân số ps1, ps2, ps3 Tính tốn hiển thị kết sau: ps4 = ps1 + ps2 - ps3 ps4 = ps1 * ps2 / ps3 ps4 = (ps1+1) + ps2/2 – ps3 16/04/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 19 Nạp chồng toán tử nhập (>>), xuất(