Đang chuẩn bị liên kết để tải về tài liệu:
CHƯƠNG 8: TÁI ĐỊNH NGHĨA (OVERLOADING)
Không đóng trình duyệt đến khi xuất hiện nút TẢI XUỐNG
Tải xuống
Nội dung: Tái định nghĩa hàm. Tái định nghĩa toán tử. Chuyển đổi kiểu. Tái định nghĩa toán tử xuất (). Tái định nghĩa toán tử [], toán tử (). Khởi tạo ngầm định - Gán ngầm định. Tái định nghĩa toán tử ++ và -- Tái định nghĩa new và delete. | TÁI ĐỊNH NGHĨA CHƯƠNG 8: (OVERLOADING) Bộ môn Hệ Thống Máy Tính và Truyền Thông Khoa Công Nghệ Thông Tin và Truyền Thông Đại học Cần Thơ Khoa Công Nghệ Thông Tin - Đại Học Cần Thơ Nội dung Tái định nghĩa hàm. Tái định nghĩa toán tử. Chuyển đổi kiểu. Tái định nghĩa toán tử xuất (>) Tái định nghĩa toán tử [], toán tử () Khởi tạo ngầm định - Gán ngầm định. Tái định nghĩa toán tử ++ và -- Tái định nghĩa new và delete Chương 8 Khoa Công Nghệ Thông Tin - Đại Học Cần Thơ Tái định nghĩa hàm Định nghĩa các hàm cùng tên Đối số phải khác nhau: class Time { //. long GetTime (void); // số giây tính từ nửa đêm void GetTime (int &hours, int &minutes, int &seconds); }; Số lượng Thứ tự Kiểu Có thể dùng đối số mặc định. void main() { int h, m, s; long t = GetTime(); // Gọi hàm ??? GetTime(h, m, s); // Gọi hàm ??? } Chương 8 Khoa Công Nghệ Thông Tin - Đại Học Cần Thơ Tái định nghĩa toán tử Định nghĩa các phép toán trên đối tượng. Các phép toán có thể tái định nghĩa: Đơn hạng + - * ! ~ & ++ -- () -> ->* new delete Nhị hạng + - * / % & | ^ > = += -= /= %= &= |= ^= >= == != = && || [] () , Các phép toán không thể tái định nghĩa: . .* :: ?: sizeof Chương 8 Khoa Công Nghệ Thông Tin - Đại Học Cần Thơ Tái định nghĩa toán tử (tt) Bằng hàm thành viên: class Point { public: Point (int x, int y) { Point::x = x; Point::y = y; } Point operator + (Point &p) { return Point(x + p.x,y + p.y); } Point operator - (Point &p) { return Point(x - p.x, y - p.y); } private: int x, y; }; void main() { Point p1(10,20), p2(10,20); Point p3 = p1 + p2; Point p4 = p1 - p2; Point p5 = p3.operator + (p4); Point p6 = p3.operator – (p4); }; Có 1 tham số (Nếu là toán tử nhị hạng) Chương 8 Khoa Công Nghệ Thông Tin - Đại Học Cần Thơ Tái định nghĩa toán tử (tt) Bằng hàm độc lập: thường khai báo friend class Point { public: Point (int x, int y) { Point::x = x; Point::y = y; } friend Point operator + (Point &p, Point &q) {return Point(p.x + q.x,p.y + q.y); } friend Point . | TÁI ĐỊNH NGHĨA CHƯƠNG 8: (OVERLOADING) Bộ môn Hệ Thống Máy Tính và Truyền Thông Khoa Công Nghệ Thông Tin và Truyền Thông Đại học Cần Thơ Khoa Công Nghệ Thông Tin - Đại Học Cần Thơ Nội dung Tái định nghĩa hàm. Tái định nghĩa toán tử. Chuyển đổi kiểu. Tái định nghĩa toán tử xuất (>) Tái định nghĩa toán tử [], toán tử () Khởi tạo ngầm định - Gán ngầm định. Tái định nghĩa toán tử ++ và -- Tái định nghĩa new và delete Chương 8 Khoa Công Nghệ Thông Tin - Đại Học Cần Thơ Tái định nghĩa hàm Định nghĩa các hàm cùng tên Đối số phải khác nhau: class Time { //. long GetTime (void); // số giây tính từ nửa đêm void GetTime (int &hours, int &minutes, int &seconds); }; Số lượng Thứ tự Kiểu Có thể dùng đối số mặc định. void main() { int h, m, s; long t = GetTime(); // Gọi hàm ??? GetTime(h, m, s); // Gọi hàm ??? } Chương 8 Khoa Công Nghệ Thông Tin - Đại Học Cần Thơ Tái định nghĩa toán tử Định nghĩa các phép toán trên đối tượng. Các phép toán có thể tái định nghĩa: Đơn hạng + - *