Lập trình hướng đối tượng C/C++ - OOP 04 operators
Hàm toán t GV Nguy n Minh Huy Phương pháp l p trình hư ng đ i tư ng - Nguy n Minh Huy N i dung Khái ni m b n n Con tr this Hàm Friend Phương pháp l p trình hư ng đ i tư ng - Nguy n Minh Huy N i dung Khái ni m b n n Con tr this Hàm Friend Phương pháp l p trình hư ng đ i tư ng - Nguy n Minh Huy Khái ni m b n S khác bi t gi a int PhanSo? PhanSo? // Thao tác ki u int void main() { int a, b; int c = a + b; } // Thao tác ki u PhanSo void main() main() { PhanSo p1, p2; Phanso p3 = p1.cong(p2); } Chương trình tìm có sai? sai? template T timMin(T a, T b) timMin( { return (a < b) ? a : b; } void main() { int a, b; int c = timMin(a, b); timMin(a, PhanSo p1, p2; PhanSo p3 = timMin(p1, p2); timMin(p1, } Phương pháp l p trình hư ng đ i tư ng - Nguy n Minh Huy Khái ni m b n Hàm toán t : Khái ni m: m: M t hàm chương trình trình Có tên ký hi u tốn t Dùng t khóa “operator” đ phân bi t (trong C++) PhanSo operator +(const PhanSo &p1, const PhanSo &p2); +(const Công d ng: ng: S d ng toán t ki u ngư i dùng đ nh nghĩa nghĩa PhanSo p3 = p1 + p2; Đ nh nghĩa nhi u cách th c hi n toán t (n p ch ng hàm) hàm) float opeartor +(const PhanSo &p, float so); Phương pháp l p trình hư ng đ i tư ng - Nguy n Minh Huy Khái ni m b n Phân lo i hàm toán t : Toán t đ c l p: p: Không thu c l p nào S lư ng tham s = toán t PhanSo operator +(const PhanSo &p1, const PhanSo &p2); +(const bool operator >(const PhanSo &p1, const PhanSo &p2); >(const Toán t thu c l p: p: Là phương th c c a l p p S lư ng tham s + = ngơi tốn t PhanSo PhanSo::operator +(const PhanSo &p); PhanSo::operator +(const bool PhanSo::operator >(const PhanSo &p); PhanSo::operator >(const Cách s d ng lo i nhau!! nhau!! Phương pháp l p trình hư ng đ i tư ng - Nguy n Minh Huy Khái ni m b n Nh ng toán t có th đ nh nghĩa l i: i: Ngơi Ngơi (Unary) Nhóm Tốn t ++, D us h c +, - Logic !, ~ Con tr *, & Ép ki u int, float, double, S h c +, -, *, /, %, +=, -=, *=, /=, %= So sánh >, =,