Os << p.tu;

Một phần của tài liệu Bài giảng lập trình hướng đối tượng operator (Trang 67 - 71)

if (p.tu != 0 && p.mau != 1)os << "/" << p.mau; os << "/" << p.mau;

return os;

4/8/2009 Lập Trình Hướng Đối Tượng 68

Phép tốn << và >>

void main() {

PhanSo a, b;

cout << “Nhap phan so a: ”; cin >> a; cout << “Nhap phan so b: ”; cin >> b;

cout << a << " + " << b << " = " << a + b << "\n"; cout << a << " - " << b << " = " << a - b << "\n"; cout << a << " * " << b << " = " << a * b << "\n"; cout << a << " / " << b << " = " << a / b << "\n"; }

Ví dụ phép tốn << và >>: Lớp Stringclass String class String { char *p; public: String(char *s = "") {p = strdup(s);}

String(const String &s2) {p = strdup(s2.p);} ~String() {delete [] p;}

String& operator = (const String& p2);

friend String operator +(const String &s1, const String &s2);

friend istream& operator >> (istream &i, String& s);

friend ostream& operator << (ostream &o, const String& s);

4/8/2009 Lập Trình Hướng Đối Tượng 70

Ví dụ phép tốn << và >>: Lớp String

const MAX = 512;

istream & operator >> (istream &is, String& s){ { char st[MAX]; is.getline(st,sizeof(s)); is.ignore(); s = st; return is; }

ostream & operator << (ostream &o, const String& s) String& s)

{

return o << s.p;} }

Phép tốn << và >>

• Phép tốn << và >> cũng cĩ thể được định nghĩa với tốn hạng thứ nhất thuộc lớp đang xét, khơng thuộc tốn hạng thứ nhất thuộc lớp đang xét, khơng thuộc lớp ostream hoặc istream. Trong trường hợp đĩ, ta dùng hàm thành phần. Kiểu trả về là chính đối tượng ở vế trái để cĩ thể thực hiện phép tốn liên tiếp.

Một phần của tài liệu Bài giảng lập trình hướng đối tượng operator (Trang 67 - 71)

Tải bản đầy đủ (PDF)

(98 trang)