GIÁO TRÌNH C++ - Trang 81

CVector a (3,1);

CVector b (1,2);

CVector c;

c = a + b;

cout << c.x << "," << c.y;

return 0;

}

4,3

Nếu bạn thấy quá nhiều

CVector

hãy để ý rằng một số trong chúng tham chiếu

đến tên lớp

CVector

còn số còn lại là tên các hàm (constructor và destructor).

Đừng lẫn lộn

CVector (int, int);

// Hàm có tên Vector (constructor)

CVector operator+ (CVector);

// Hàm operator+ trả về kiểu

CVector

Hàm

operator+

của lớp

CVector

được dùng để quá tải toán tử số học +. Hàm

này có thể được gọi bằng một trong các cách:

c = a + b;

c = a.operator+ (b);

Hãy chú ý rằng chúng ta đã thêm vào constructor rỗng (không có tham số) và
chúng ta định nghĩa nó với một khối lệnh cũng rỗng nốt:

CVector () { };

điều này là cần thiết vì còn có một constructor khác,

CVector (int, int);

và vì vậy các constructors mặc định không tồn tại trong

CVector

nếu chúng ta

không khai nó một cách rõ ràng. Khai báo sau đây sẽ là không hợp lệ: