Định nghĩa chồng các toán tử ++,

Một phần của tài liệu Giáo trình lập trình hướng đối tượng (Trang 88 - 90)

Ta có thể định nghĩa chồng cho các toán tử ++/-- theo quy định sau: - Toán tử ++/-- dạng tiền tố trả về một tham chiếu đến đối tợng thuộc lớp. - Toán tử ++/-- dạng tiền tố trả về một đối tợng thuộc lớp.

Ví dụ 4.10 #include <iostream.h> #include <conio.h> class Diem { private: int x,y; public: Diem() {x = y = 0;} Diem(int x1, int y1)

{x = x1; y = y1;}

Diem & operator ++(); //qua tai toan tu ++ tien to Diem operator ++(int); //qua tai toan tu ++ hau to Diem & operator --(); //qua tai toan tu -- tien to Diem operator --(int); //qua tai toan tu -- hau to void hienthi()

{

cout<<" x = "<<x<<" y = "<<y; }

};

Diem & Diem::operator ++() {

x++; y++;

return (*this); }

{

Diem temp = *this; ++*this;

return temp; }

Diem & Diem::operator --() {

x--; y--;

return (*this); }

Diem Diem::operator --(int) {

Diem temp = *this; --*this; return temp; } void main() { clrscr(); Diem d1(5,10),d2(20,25),d3(30,40),d4(50,60); cout<<"\nd1 : ";d1.hienthi(); ++d1;

cout<<"\n Sau khi tac dong cac toan tu tang truoc :";

cout<<"\nd1 : ";d1.hienthi(); cout<<"\nd2 : ";d2.hienthi(); d2++;

cout<<" \n Sau khi tac dong cac toan tu tang sau";

cout<<"\nd2 : ";d2.hienthi(); cout<<"\nd3 : ";d3.hienthi(); --d3;

truoc :";

cout<<"\nd3 : ";d3.hienthi(); cout<<"\nd4 : ";d4.hienthi(); d4--;

cout<<"\n Sau khi tac dong cac toan tu giam sau : ";

cout<<"\nd4 : ";d4.hienthi(); getch();

}

Chơng trình cho kết quả nh sau: d1 : x = 5 y = 10

Sau khi tac dong cac toan tu tang truoc : d1 : x = 6 y = 11

d2 : x = 20 y = 25

Sau khi tac dong cac toan tu tang sau d2 : x = 21 y = 26

d3 : x = 30 y = 40

Sau khi tac dong cac toan tu giam truoc : d3 : x = 29 y = 39

d4 : x = 50 y = 60

Sau khi tac dong cac toan tu giam sau : d4 : x = 49 y = 59

Chú ý: Đối số int trong dạng hậu tố là bắt buộc, dùng để phân biệt với dạng tiền

tố, thờng nó mang trị mặc định là 0.

Một phần của tài liệu Giáo trình lập trình hướng đối tượng (Trang 88 - 90)

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

(154 trang)
w