1. Trang chủ
  2. » Công Nghệ Thông Tin

CHƯƠNG 6 PHÉP TOÁN pptx

19 173 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 19
Dung lượng 622,87 KB

Nội dung

CH ƯƠ NG 6 CH ƯƠ NG 6 PHÉP TOÁN PHÉP TOÁN 1 OOP-CHƯƠNG 6-PHÉP TOÁN GV: Võ Hồng Bảo Châu MỤC TIÊU y Bi ế t cách th ứ c vi ế t hàm p hé p toán tron g l ớ p của n g ôn 2 pp g p g ngữ C++ y Hoàn thiện kiểu dữ liệu lớp sao cho có các hành vi: { Truy cập dữ liệu (nhập/xuất; nhận biết/thay đổi giá trị của dữ liệu) { Các phép toán liên quan { Các phép toán liên quan { Các hành vi đặc thù OOP-CHƯƠNG 6-PHÉP TOÁN GV: Võ Hồng Bảo Châu NỘI DUNG CHI TIẾT y Đ Ặ T V Ấ N Đ Ề 3 Ặ y HÀM TOÁN TỬ y CÁC KÝ Hi Ệ U KHÔNG S Ử D Ụ NG Ệ Ụ y PHÉP TOÁN LÀ THÀNH VIÊN CỦA LỚP y PHÉP TOÁN LÀ HÀM FRIEND C Ủ A LỚP y PHÉP TOÁN 2 NGÔI y PHÉP TOÁN 1 NGÔI OOP-CHƯƠNG 6-PHÉP TOÁN GV: Võ Hồng Bảo Châu ĐẶT VẤN ĐỀ 4 Không báo lỗi Vì phép toán + chỉ được ể Báo lỗi T ạ i sao? C định nghĩa cho các ki ể u cơ sở như int, float, …ch ư a đ ị nh n g hĩa cho Muốn sử dụng phép toán + cho kiểu phanso thì phải đ ị nh nghĩa l ạ i phép toán + T ạ i sao? ị g kiểu phanso đ ị nh nghĩa l ạ i phép toán + OOP-CHƯƠNG 6-PHÉP TOÁN GV: Võ Hồng Bảo Châu HÀM TOÁN TỬ y N g ôn n g ữ C++ cho p hé p cài đ ặ t các p hé p toán m ộ t 5 gg pp ặ pp ộ cách tiện lợi và tự nhiên. y Tên gọi của phép toán được đặt theo quy ước gồm hai ầ ph ầ n, { Phần bắt buộc - sử dụng từ khóa operator { Ph ầ n do ng ườ i l ậ p trình ch ọ n l ự a trong t ậ p h ợ p các ký hi ệ u { Ph ầ n do ng ườ i l ậ p trình ch ọ n l ự a trong t ậ p h ợ p các ký hi ệ u phép toán của ngôn ngữ. OOP-CHƯƠNG 6-PHÉP TOÁN GV: Võ Hồng Bảo Châu VÍ DỤ y C ộ n g hai p hanso v ớ i nhau 6 ộ gp phanso operator+ (phanso a){ // } Kiểu trả về Từ khóa bắt bu ộ c ph ả i có Phép toán được định nghĩa lại là bu ộ c ph ả i có phép + OOP-CHƯƠNG 6-PHÉP TOÁN GV: Võ Hồng Bảo Châu Các ký hiệu khơng sử dụng 7 Phép toán Ý nghóa :: Truy cập đến thành phần của lớp .* Truy cập đến con trỏ là thành phần đối tượng hay struct . Truy cập đến thành phần của đối tượng hay của struct à ?: Phép toán đie à u kiện sizeof() Lấy kích thước của kiểu dữ liệu OOP-CHƯƠNG 6-PHÉP TỐN GV: Võ Hồng Bảo Châu Phép toán là thành viên của lớp 8 y Phé p toán là hành vi , nên có th ể hi ệ n th ự c nh ư thành p , ệ ự phần thuộc lớp. y Hàm toán tử operator phải có thuộc tính public vì ế ể n ế u không thì trình dịch không th ể th ự c hiện đ ư ợ c nó ở ngoài phạm vi lớp. V ớ i hé t á h i ôi h ả i ó h i th ố hì h th ứ y V ớ i p hé p t o á n h a i ng ôi p h ả i c ó h a i th am s ố hì n h th ứ c, khi trở thành phương thức của lớp chỉ còn một tham s ố s ố . OOP-CHƯƠNG 6-PHÉP TOÁN GV: Võ Hồng Bảo Châu PHÉP TOÁN 2 NGÔI y Giả s ử có ki ể u d ữ li ệ u p hanso v = ( t , m ), tron g đó t , m 9 ệ p(,),g, là 2 số nguyên. y Khi đó, phép toán cộng 2 vector được định nghĩa như sau, cho u = (t,m), v = (t,m), thì w = (t,m), w = u + v <=> w.t = u.t*v.m + v.t*u.m w .m = u.m * v.m OOP-CHƯƠNG 6-PHÉP TOÁN GV: Võ Hồng Bảo Châu Tương tự cho các phép toán 2 ngôi khác 10 khác Kết quả trả về operator phép toán (các tham số) { … return ….; } b t í d tê ó th ể hi ể là t(b) } c=a+ b t rong v í d ụ t r ê n c ó th ể hi ể u là c=a.opera t or+ (b) c.t=a.t*b.m+b.t*a.m cm=am * bm c.t=t*b.m+b.t*m cm=m * bm c . m=a . mb . m return c c . m=m b . m return c; OOP-CHƯƠNG 6-PHÉP TOÁN GV: Võ Hồng Bảo Châu [...]... OOP-CHƯƠNG 6- PHÉP TOÁN GV: Võ Hồng Bảo Châu BÀI TẬP TẠI LỚP 12 1)Định nghĩa lại phép toán -, *, / cho lớp p ) ị g ạ p p , , p phân số trên 2)Xây dựng lớp Diem gồm 2 thành phần hoành độ và tung độ Viết phép toán + cho 2 Diem OOP-CHƯƠNG 6- PHÉP TOÁN GV: Võ Hồng Bảo Châu PHÉP GÁN 13 a=b Tương đương a.operator=(b) Ví dụ a và b thuộc lớp p ụ ộ p phân số a.t=b.t a.m=b.m a m=b m return a; OOP-CHƯƠNG 6- PHÉP TOÁN... các phép toán khác như (), ++, , [] p p , , Xây dựng một class hoàn chỉnh có dùng các phép toán trên, ví dụ class ma trận OOP-CHƯƠNG 6- PHÉP TOÁN GV: Võ Hồng Bảo Châu TÓM TẮT 18 Toán tử có thể được định nghĩa lại (chồng hàm) ợ ị g ạ ( g ) Dùng từ khóa operator và ký hiệu toán tử được định nghĩa lại Không thể định ra phép toán mới Hàm toán tử có thể là hàm thành phần hoặc hàm friend của lớp Khi hàm toán. .. Hồng Bảo Châu PHÉP TOÁN > 14 Phép toán p Để định nghĩa phép toán >> theo... toán tử có thể là hàm thành phần hoặc hàm friend của lớp Khi hàm toán tử là hàm thành phần, toán hạng bên trái luôn là đối tượng thuộc lớ ái l ô h ộ lớp Khi hàm toán tử là hàm friend, toán hạng bên trái là đối tượng của lớp khác khác OOP-CHƯƠNG 6- PHÉP TOÁN GV: Võ Hồng Bảo Châu 19 THANH YOU OOP-CHƯƠNG 6- PHÉP TOÁN GV: Võ Hồng Bảo Châu ... > (istream &is, PhanSo &p) { is >> p.t >> p.m; while (!p.m) { cout > p.m; } return is; } ostream & operator . Ụ y PHÉP TOÁN LÀ THÀNH VIÊN CỦA LỚP y PHÉP TOÁN LÀ HÀM FRIEND C Ủ A LỚP y PHÉP TOÁN 2 NGÔI y PHÉP TOÁN 1 NGÔI OOP-CHƯƠNG 6- PHÉP TOÁN GV: Võ Hồng Bảo Châu ĐẶT VẤN ĐỀ 4 Không báo lỗi Vì phép toán. CH ƯƠ NG 6 CH ƯƠ NG 6 PHÉP TOÁN PHÉP TOÁN 1 OOP-CHƯƠNG 6- PHÉP TOÁN GV: Võ Hồng Bảo Châu MỤC TIÊU y Bi ế t cách th ứ c vi ế t hàm p hé p toán tron g l ớ p của n g ôn. sử dụng phép toán + cho kiểu phanso thì phải đ ị nh nghĩa l ạ i phép toán + T ạ i sao? ị g kiểu phanso đ ị nh nghĩa l ạ i phép toán + OOP-CHƯƠNG 6- PHÉP TOÁN GV: Võ Hồng Bảo Châu HÀM TOÁN TỬ y

Ngày đăng: 27/07/2014, 13:21

TỪ KHÓA LIÊN QUAN

w