GIÁO TRÌNH C++ - Trang 88

7

6

Trong thực tế, các thành viên tĩnh có cùng thuộc tính với các biến toàn cục. Vì
vậy, để tránh việc chúng bị khai báo nhiều lần, theo chuẩn ANSI-C++ chúng ta
chỉ được viết phần khai báo mẫu trong phần khai báo của lớp. Để có thể khởi
tạo một thành viên tĩnh chúng ta phải viết một định nghĩa ở bên ngoài lớp,
giống như ở trong ví dụ trước.
Vì nó là một biến duy nhất cho tất cả các đối tượng thuộc lớp, nó có thể được
tham chiếu đến như là thành viên của bất kì đối tượng nào thuộc lớp hay thậm
chí chính bản thân tên lớp (tất nhiên điều này chỉ hợp lệ với các thành viên
tĩnh):

cout << a.n;

cout << CDummy::n;

Hai lời gọi trong ví dụ trên đều tham chiếu đến cùng một biến: biến tĩnh

n

trong

lớp

CDummy

.

Một lần nữa, tôi phải nhắc lại rằng nó là một biến toàn cục (nghĩa là bạn có thể
truy xuất nó từ bất kì đâu). Sự khác biệt duy nhất là bạn phải dùng nó với tên
lớp.
Chúng ta cũng có thể tạo ra các hàm tĩnh giống như các biến tĩnh. Chúng cũng
có ý nghĩa như đối với các biến tĩnh: đó là các hàm toàn cục có thể được gọi
như thể là các đối tượng của một lớp. Chúng chỉ có thể truy xuất đến phần dữ
liệu tĩnh cũng như không được phép sử dụng từ khoá

this

vì nó tạo tham chiếu

đến một con trỏ đối tượng. Các hàm này thực tế không phải là thành viên của
bất kì đối tượng nào mà thực chất là của lớp.

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.