Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 13 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
13
Dung lượng
558,21 KB
Nội dung
Chương HÀM THÀNH VIÊN Nội dung • Tái định nghĩa, Đối số • Hàm inline • Truyền đối tượng đối số hàm • Trị trả hàm đối tượng • Con trỏ *this • Hàm thành viên Tái định nghĩa hàm thành viên • Trong lớp, định nghĩa hàm thành viên trùng tên, hàm phải khác tham số Tính đa hình lập trình hướng đối tượng Dùng đối số • Có thể dùng đối số cho hàm thành viên • Tất đối số phải nằm cuối hàm Hàm inline • Có cách khai báo hàm inline : – Thêm từ khóa inline vào trước hàm thành viên – Định nghĩa hàm bên khai báo lớp Truyền đối tượng đối số hàm • Truyền qua giá trị – Tham số hàm thành viên có kiểu – Một đối tượng truyền theo tham số Truyền đối tượng đối số hàm • Truyền qua địa – Tiết kiệm nhớ cho chương trình (hơn truyền qua giá trị) – Có thể làm thay đổi giá trị đối tượng truyền vào Truyền đối tượng đối số hàm • Truyền qua tham chiếu – Tương tự truyền qua địa – Định nghĩa hàm đơn giản (như truyền qua giá trị) – Cũng làm thay đổi giá trị đối tượng truyền vào Trị trả hàm đối tượng • Trị trả truyền qua giá trị – Trị trả hàm thành viên có kiểu – Một hàm có trị trả đối tượng Trị trả hàm đối tượng • Trị trả truyền qua địa – Tránh lãng phí nhớ thời gian gọi hàm – Sử dụng phải cẩn thận gây hiệu ứng phụ 10 Trị trả hàm đối tượng • Trị trả truyền qua tham chiếu – Tương tự truyền qua địa – Đa số dùng để trả đối tượng toàn cục hay nội dung trỏ cấp vùng nhớ hàm 11 Con trỏ *this • Lưu địa đối tượng xét • Muốn lấy giá trị đối tượng: dùng *this • Thuộc tính truy cập private class Diem { int x, y; public: Diem() { x=y=0; } Diem(int x, int y) { this->x = x; this->y = y; } … }; class ViDu2 { int a; public: ViDu2(int x) { a= x; } void InDiaChi() { cout