Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 19 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
19
Dung lượng
382 KB
Nội dung
18/01/14 18:29
1
Hà Văn Sang
Bộ môn: Tin học TC – KT
Khoa: Hệ Thống Thông Tin Kinh tế - Học Viện Tài
Chính
Tel: 0982.165.568
Email: sanghv@hvtc.edu.vn
Website: http://www.hvtc.edu.vn/sanghv
Lập trình hướng đối tượng
18/01/14 18:29
2
CHƯƠNG III
3/20
4. Mảng và con trỏ của đối tượng
Khai báo
<tên_lớp> <tên_mảng>[spt];
Ví dụ: SV sinhvien[50]; PS a[8];
<tên_lớp> *<tên_con_trỏ>;
Ví dụ: SV *p = sinhvien;
4/20
5. Hàm bạn vàlớp bạn
Khái niệm hàm bạn:
Hàm bạn của một lớp là hàm không phải là
thành phần của lớp
Nhưng có khả năng truy xuất đến mọi thành
phần của đối tượng
Cú pháp:
friend <kiểu trả về> <tên hàm>(tham số);
Sau đó định nghĩa hàm ở ngoài lớp như các hàm
tự do khác
5/20
5. Hàm bạn vàlớp bạn (tiếp)
Ví dụ:
Xây dựnglớp PS với phép toán: +, -, toán tử
nhập (>>), toán tử xuất (<<)
Toán tử >>, << đã được xâydựng với các kiểu
dữ liệu chuẩn như int, char, float …
Với các kiểu dữ liệu mới ta phải xâydựng lại:
istream& operator>>(istream& is, PS &x);
Trả về bộ nhớ
đệm
Phải thay đổi
để phù hợp
G
i
á
t
r
ị
c
ó
t
h
ể
t
h
a
y
đ
ổ
i
6/20
5. Hàm bạn vàlớp bạn (tiếp)
Nhận xét
Hàm bạn không phải là hàm thành viên nên
không bị ảnh hưởng của từ khoá truy xuất
Không hạn chế số lượng hàm bạn
Hàm bạn của một lớp có thể là hàm tự do
Hàm bạn của một lớp có thể là hàm thành phần
của một lớp khác
7/20
5. Hàm bạn vàlớp bạn (tiếp)
Khái niệm lớp bạn:
Lớp A là lớp bạn của lớp B nếu trong B có
chứa khai báo:
friend class A;
Vậy:
Nếu A là lớp bạn của B thì mọi hàm thành phần
của A sẽ trở thành hàm bạn của B
8/20
6. Thành phần tĩnh
a. Dữ liệu tĩnh
Khái niệm:
Là thành phần dữ liệu của lớp nhưng không gắn
cụ thể với đối tượng nào
Dùng chung cho toàn bộ lớp
Các đối tượng của lớp đều dùng chung thành
phần tĩnh này
9/20
6. Thành phần tĩnh
a. Dữ liệu tĩnh
Khai báo:
static <kiểu dữ liệu> <tên thành phần>;
Ví dụ:
class PS{ int ts, ms;
static int count;
public:
PS(int m=0, int n=1){ ts=t; ms=m; count++;}
};
10/20
6. Thành phần tĩnh
a. Dữ liệu tĩnh
Truy xuất:
Theo đối tượng (cách thông thường)
Ví dụ:
PS a;
a.count=0;
Theo lớp
Ví dụ:
PS::count=0;
[...]... về> (tham số) const ; Định nghĩa: ::(tham số) const { //thân hàm } 16/20 8 Thành phần đối tượng Khái niệm: là thành phần dữ liệu của lớp có kiểu là một lớp khác Khai báo: Ví dụ: thành phần ns của lớp SV là đối tượng lớp date 17/20 Bài tập (week 5) • • Xây dựng các toán tử nhập >>, xuất , =, . một lớp có thể là hàm tự do
Hàm bạn của một lớp có thể là hàm thành phần
của một lớp khác
7/20
5. Hàm bạn và lớp bạn (tiếp)
Khái niệm lớp bạn:
Lớp. tĩnh
a. Dữ liệu tĩnh
Khái niệm:
Là thành phần dữ liệu của lớp nhưng không gắn
cụ thể với đối tượng nào
Dùng chung cho toàn bộ lớp
Các đối tượng của lớp đều