tailieunhanh - Bài giảng Lập trình hướng đối tượng và C++: Chương 7

Chương 7 "Tái định nghĩa tác tử" cung cấp cho người học các kiến thức: Giới thiệu, tái định nghĩa bằng hàm độc lập, tái định nghĩa bằng hàm thành viên, tái định nghĩa phép gán (dấu =), tái định nghĩa tác tử xuất – nhập. ! | N i dung • Gi i thi u Chương 7 • Tái ñ nh nghĩa b ng hàm ñ c l p TÁI ð NH NGHĨA TÁC T • Tái ñ nh nghĩa b ng hàm thành viên • Tái ñ nh nghĩa phép gán (d u =) • Tái ñ nh nghĩa tác t xu t – nh p 1 Gi i thi u • T i sao c n tái ñ nh nghĩa tác t ? 2 Gi i thi u (tt) tt) • Cơ ch class PhanSo { int tu, mau; public: PhanSo(int=0, int=1){ } void InPs() { } int LonHon (PhanSo x) { return (tu*>mau*);} PhanSo Cong(PhanSo x) { } }; void main() { PhanSo a(4,9), b(3,7); if((a)) cout a ) operator ( các ñ i s ) Phan So c = b + a cout , >=, >, [], new, delete, 5 class PhanSo { int tu,mau; public: . friend PhanSo operator + (PhanSo,int); }; PhanSo operator + (PhanSo x, int n) { return PhanSo( + *n, );} void main() { PhanSo a(2,5); Ph i ñ nh nghĩa thêm tác t : PhanSo b = operator +(a,10); PhanSo operator + (int , PhanSo); PhanSo c = a + 20 ; PhanSo d = 20 + a ; // Sai 6 } Tái ñ nh nghĩa b ng hàm thành viên Tái ñ nh nghĩa phép gán (d u =) • ð i s ñ u tiên c a tác t chính là ñ i tư ng ñang xét. => Hàm s có s lư ng ñ i s ít hơn so v i hàm ñ c l p. • C++ m c nhiên s có phép gán (d u = ) b ng cách gán tương ng t ng thu c tính gi a 2 ñ i tư ng. • Khi thành ph n d li u có con tr => ph i ñ nh nghĩa “=”. • Phép gán ph i ñ nh nghĩa b ng hàm thành viên. class PhanSo { int tu,mau; public: . PhanSo operator + (int); }; PhanSo PhanSo:: ::operator + (int n) { return PhanSo(tu + mau*n, mau);} void main() { Không th ñ nh nghĩa thêm PhanSo a(2,5); tác t b ng hàm thành viên PhanSo b = +(10); PhanSo c = a + 20 ; cho trư ng h p này PhanSo d = 20 + a ; // Sai 7 } class Stack { float *ds; int soluong, vitri; public: . void operator=(const Stack& s){ soluong = ; vitri = ; delete[] ds; ds = new float[soluong]; for(int i=0; i>), xu t (> (istream& is, Diem& p); }; ostream& operator > (istream& is, Diem& p) { cout > ; cout > ; return is;} void main() { Diem a(2,10), b; cout>b; 11 cout> (istream& }; Tái ñ nh nghĩa tác .

TỪ KHÓA LIÊN QUAN
crossorigin="anonymous">
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.