Bài giảng Lập trình hướng đối tượng C++ - Chương 4: Hàm thành viên
Thông tin tài liệu:
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình hướng đối tượng C++ - Chương 4: Hàm thành viên Chương 4HÀM THÀNH VIÊN 1Nội dung • 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. • Trị trả về của hàm là đối tượng • Con trỏ *this • Hàm thành viên hằng 2Tái định nghĩa hàm thành viên• Trong 1 lớp, có thể định nghĩa các hàm thành viên trùng tên, nhưng các hàm này phải khác nhau về tham số. Tính đa hình của lập trình hướng đối tượng 3Dùng đối số mặc nhiên• Có thể dùng đối số mặc nhiên cho hàm thành viên.• Tất cả đối số mặc nhiên đều phải nằm cuối hàm. 4Hàm inline• Có 2 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 ngay bên trong khai báo lớp. 5Truyền đối tượng như đối số của hàm• Truyền qua giá trị – Tham số của hàm thành viên có thể có kiểu bất kỳ. – Một đối tượng có thể được truyền theo tham số. 6Truyền đối tượng như đối số của hàm • 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. 7Truyền đối tượng như đối số của hàm• Truyền qua tham chiếu – Tương tự như truyền qua địa chỉ. – Đị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. 8Trị trả về của hàm là đối tượng• Trị trả về truyền qua giá trị – Trị trả về của hàm thành viên có thể có kiểu bất kỳ. – Một hàm có thể có trị trả về là một đối tượng. 9Trị trả về của hàm là đối tượng• Trị trả về truyền qua địa chỉ – Tránh lãng phí bộ nhớ và thời gian gọi hàm. – Sử dụng phải cẩn thận vì có thể gây ra hiệu ứng phụ. 10Trị trả về của hàm là đối tượng• Trị trả về truyền qua tham chiếu – Tương tự như truyền qua địa chỉ – Đa số dùng để trả về một đối tượng toàn cục hay nội dung một con trỏ đã được cấp vùng nhớ trong hàm. 11Con trỏ *this• Lưu địa chỉ của chính đối tượng đang xét.• Muốn lấy giá trị của chính đối tượng: dùng *this.• Thuộc tính truy cập là private. 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) { { coutHà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
Tìm kiếm theo từ khóa liên quan:
Bài giảng Lập trình hướng đối tượng C++ Lập trình hướng đối tượng C++ Hàm thành viên Truyền đối tượng Hàm thành viên hằngGợi ý tài liệu liên quan:
-
ỨNG DỤNG LOGIC MỜ VÀO BÀI TOÁN MÁY GIẶT
7 trang 22 0 0 -
Chapter 5: MẢNG - CON TRỎ THAM CHIẾU
10 trang 17 0 0 -
Bài giảng Kỹ thuật lập trình: Chương V - Lưu Hồng Việt
19 trang 17 0 0 -
Bài giảng Kỹ thuật lập trình: Chương 6 - Trần Quang Hải Bằng
3 trang 14 0 0 -
Bài giảng Lập trình: Chương 4 - Vũ Song Tùng
47 trang 14 0 0 -
Bài giảng: Xây dựng lớp và giao diện
79 trang 14 0 0 -
Bài giảng Lập trình hướng đối tượng C++ - Chương mở đầu: Giới thiệu tổng quan
15 trang 14 0 0 -
Bài giảng Lập trình hướng đối tượng C++ - Chương 4: Hàm
8 trang 14 0 0 -
Giáo trình Lập trình hướng đối tượng và C++ - Phạm Văn Ất (Chủ biên)
337 trang 13 0 0 -
8 trang 13 0 0
-
Bài giảng Lập trình hướng đối tượng C++ - Chương 2: Biểu thức
8 trang 13 0 0 -
Bài giảng Lập trình nâng cao - Chương 8: Class and struct
58 trang 12 0 0 -
Bài giảng Lập trình nâng cao - Chương 11: Class and Struct
56 trang 12 0 0 -
Bài giảng Lập trình hướng đối tượng C++ - Chương 3: Lớp và đối tượng
20 trang 11 0 0 -
Bài giảng Lập trình hướng đối tượng C++ - Chương 6: Hàm bạn và lớp bạn
9 trang 11 0 0 -
Bài giảng Lập trình hướng đối tượng C++ - Chương 8: Thừa kế
20 trang 10 0 0 -
Bài giảng Lập trình hướng đối tượng và C++: Chương 4
4 trang 10 0 0 -
Bài giảng Lập trình hướng đối tượng C++ - Chương 2: Lập trình hướng đối tượng
53 trang 10 0 0 -
Bài giảng Lập trình hướng đối tượng C++ - Chương 1: Các đặc điểm của C++
45 trang 10 0 0 -
Bài 12 - Các khái niệm nâng cao về Class
21 trang 10 0 0