Slide bài giảng lập trình hướng đối tượng C++ (chương 8) - Pdf 37

Khoa Công Nghệ Thông Tin - Đại Học Cần Thơ
1
TÁI ĐỊNH NGHĨA
TÁI ĐỊNH NGHĨA
CHƯƠNG 8:
CHƯƠNG 8:
(OVERLOADING)
(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ơ
2
Nội dung
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 (<<)– nhập (>>)

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à --


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ơ
4
Tái định nghĩa toán tử
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ơ
5

Point
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 operator - (Point &p, Point &q)
{return Point(p.x - q.x,p.y - q.y); }
private:
int x, y;
};
void main() {
Point p1(10,20), p2(10,20);
Point p3 = p1 + p2; Point p4 = p1 - p2;
Point p5 =operator + (p3, p4); Point p6 = operator – (p3, p4);
};
Có 2 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ơ
7
Tái định nghĩa toán tử (tt)
Tái định nghĩa toán tử (tt)

Cải tiến lớp tập hợp (Set):
#include <iostream.h>
const maxCard = 100;
enum Bool {false, true};
class

cout << "s1 hop s2 = "; (s1 + s2).Print();
if (s1 != s2) cout << "s1 /= s2\n";
return 0;
}
Chương 8


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status