1. Trang chủ
  2. » Giáo Dục - Đào Tạo

CHƯƠNG 4 HÀM THANH VIÊN

4 142 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 4
Dung lượng 136,28 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

– 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... – Một hàm c

Trang 1

HÀM THÀNH VIÊN

Ch ươ ng 4

1

N ộ i dung

N ộ 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

• Tr ị tr ả v ề c ủ a hàm là ñố i t ượ ng

• Con tr ỏ *this

• Hàm thành viên h ằ ng

2

Tái ñị ñị nh nh ngh ngh ĩ ĩ a a hàm hàm thành thành viên 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ìnhcủa lập trình hướng ñối tượng

Dùng ñố i s ố m ặ c nhiên Dù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.

Trang 2

Hà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.

5

Truy ề n Truy ề n ñố ñố i i t t ượ ượ ng ng nh nh ư ư ñố ñố i i s s ố ố c c ủ ủ a a hàm 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 ố

6

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.

Truy ề n

Truy ề n ñố ñố i i t t ượ ượ ng ng nh nh ư ư ñố ñố i i s s ố ố c c ủ ủ a a hàm 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

Truy ề n Truy ề n ñố ñố i i t t ượ ượ ng ng nh nh ư ư ñố ñố i i s s ố ố c c ủ ủ a a hàm hàm

Trang 3

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ề 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ộ ñối tượng

9

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 ñị 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ụ

10

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 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

Con tr ỏ *this Con 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 ViDu2 {

int a;

class Diem {

int x, y; int a;

public:

int x, y;

public :

Trang 4

Hàm thành viên h ằ ng

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 ệ ucủa ñối tượng

13

class Diem {

int x,y;

public:

Diem();

void Hien() const ;

void Doi( int , int );

};

… … …

void main() { Diem a;

const Diem c;

a.Hien();

a.Doi(5,6);

c.Hien();

c.Doi(10,20);

}

Sai vì Doi(int,int) không là hàm

h ằ ng

Ngày đăng: 30/01/2016, 10:51

TỪ KHÓA LIÊN QUAN

w