Xem mẫu

N i dung
• Tái ñ nh nghĩa, ð i s m c nhiên

Chương 4

• 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,
nhưng các hàm này ph i khác nhau v tham s .

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

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
• Truy n qua giá tr

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

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

5

Truy n ñ i tư ng như ñ i s c a hàm

6

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

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

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

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

11

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
nguon tai.lieu . vn