YOMEDIA
Bài giảng Kỹ thuật lập trình: Chương 4 - Trần Quang Hải Bằng
Chia sẻ: Sơn Tùng
| Ngày:
| Loại File: PDF
| Số trang:4
69
lượt xem
2
download
Download
Vui lòng tải xuống để xem tài liệu đầy đủ
Bài giảng "Kỹ thuật lập trình - Chương 4: Hàm thành viên" cung cấp cho người học các kiến thức: Tái định nghĩa, đối số mặc nhiên, hàm inline, truyền đối tượng như đối số của hàm, con trỏ *this, hàm thành viên bằng. Mời các bạn cùng tham khảo nội dung chi tiết.
AMBIENT/
Chủ đề:
Nội dung Text: Bài giảng Kỹ thuật lập trình: Chương 4 - Trần Quang Hải Bằng
- Nội dung
Chương 4 • Tái ñịnh nghĩa, ðối số mặc nhiên
• Hàm inline
HÀM THÀNH VIÊN • Truyền ñối tượng như ñối số của hàm.
• Trị trả về của hàm là ñối tượng
• Con trỏ *this
• Hàm thành viên hằng
1 2
Tái ñịnh nghĩa hàm thành viên Dùng ñối số mặc nhiên
• Trong 1 lớp, có thể ñịnh nghĩa các hàm thành viên trùng tên, • Có thể dùng ñối số mặc nhiên cho hàm thành viên.
nhưng các hàm này phải khác nhau về tham số.
• Tất cả ñối số mặc nhiên ñều phải nằm cuối hàm.
Tính ña hình của lập trình hướng ñối tượng
3 4
- Hàm inline Truyền ñối tượng như ñối số của hàm
• Có 2 cách khai báo hàm inline : • Truyền qua giá trị
– Thêm từ khóa inline vào trước hàm thành viên. – Tham số của hàm thành viên có thể có kiểu bất kỳ.
– ðịnh nghĩa hàm ngay bên trong khai báo lớp. – Một ñối tượng có thể ñược truyền theo tham số.
5 6
Truyền ñối tượng như ñối số của hàm Truyền ñối tượng như ñối số của hàm
• Truyền qua tham chiếu
• Truyền qua địa chỉ
– Tương tự như truyền qua ñịa chỉ.
– 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ị của đối tượng truyền vào. – ðịnh nghĩa hàm sẽ ñơn giản hơn (như truyền qua giá trị)
– Cũng có thể làm thay ñổi giá trị của ñối tượng truyền vào.
7 8
- Trị trả về của hàm là ñối tượng Trị trả về của hàm là ñối tượng
• Trị trả về truyền qua giá trị • Trị trả về truyền qua ñịa chỉ
– Trị trả về của hàm thành viên có thể có kiểu bất kỳ. – Tránh lãng phí bộ nhớ và thời gian gọi hàm.
– Một hàm có thể có trị trả về là một ñối tượng. – Sử dụng phải cẩn thận vì có thể gây ra hiệu ứng phụ.
9 10
Trị trả về của hàm là ñối tượng Con trỏ *this
• Trị trả về truyền qua tham chiếu • Lưu ñịa chỉ của chính ñối tượng ñang xét.
– Tương tự như truyền qua ñịa chỉ • Muốn lấy giá trị của chính ñối tượng: dùng *this.
– ða số dùng ñể trả về một ñối tượng toàn cục hay nội dung • Thuộc tính truy cập là private.
một con trỏ ñã ñược cấp vùng nhớ trong hàm.
class Diem { class ViDu2 {
int x, y; int a;
public: public:
Diem() ViDu2(int x) { a= x; }
{ x=y=0; } void InDiaChi()
Diem(int x, int y) {
{ cout
- Hàm thành viên hằng
• Hằng dữ liệu: không thay ñổi giá trị trong khi thực thi.
• Hằng ñối tượng: không thay ñổi giá trị các thành phần dữ liệu
trong ñối tượng.
• Hàm thành viên hằng:
– Có thể thao tác trên hằng ñối tượng.
– Không làm thay ñổi giá trị dữ liệu của ñối tượng.
class Diem { void main() {
int x,y; Diem a;
public: const Diem c;
Diem(); a.Hien();
void Hien() const; a.Doi(5,6); Sai vì
void Doi(int, int); c.Hien(); Doi(int,int)
}; c.Doi(10,20); không là hàm
… … … } hằng 13
Thêm tài liệu vào bộ sưu tập có sẵn:
Báo xấu
LAVA
ERROR:connection to 10.20.1.100:9315 failed (errno=111, msg=Connection refused)
ERROR:connection to 10.20.1.100:9315 failed (errno=111, msg=Connection refused)
Đang xử lý...