1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng phương pháp lập trình hướng đối tượng chương 5 thành phần tĩnh, ba vấn đề con trỏ

24 383 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 24
Dung lượng 850 KB

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

Nội dung

Thành phần tĩnh Thành phần của lớp class members:  Thành phần đối tượng instance members.. Tóm tắt Thành phần tĩnh:  Thuộc tính và phương thức thuộc phạm vi lớp..  Các đối tượng dùn

Trang 1

Chương 3: Thành phần

tĩnh, Ba vấn đề con trỏ

Trang 2

Nội dung

 Thành phần tĩnh.

 Ba vấn đề con trỏ.

 Bài tập.

Trang 3

Nội dung

 Ba vấn đề con trỏ.

 Bài tập.

Trang 4

Thành phần tĩnh

 Thành phần của lớp (class members):

 Thành phần đối tượng (instance members).

 Thuộc tính và phương thức thông thường

 Mỗi đối tượng có bản sao riêng

Trang 5

PhanSo p1(1, 2);

PhanSo p2(2, 3);

int x1 = PhanSo::layGiaTriLN(); int x2 = p1.layGiaTriLN();

}

Trang 6

Nội dung

 Thành phần tĩnh.

 Bài tập.

Trang 7

Array a1(5);

… }

Trang 9

Array a1(5);

… }

Trang 10

Array a1(5);

Array a2(a1);

… }

Trang 11

Dùng chung

bộ nhớ!!

Dùng chung

Trang 12

m_data = new int[m_size];

for (int i = 0; i < m_size; i++)

m_data[ i ] = a.m_data[ i ];

}

Trang 13

Array a1(5);

Array a2(6);

… a2 = a1;

… }

Trang 15

Array a1(5);

Array a2(6);

… a2 = a1;

Array & Array::operator =(const Array &a) {

delete m_data;

m_size = a.m_size;

m_data = new int[m_size];

for (int i = 0; i < m_size; i++)

m_data[ i ] = a.m_data[ i ];

return *this;

}

Trang 16

Ba vấn đề con trỏ

 Dr Guru khuyên: luật “ba ông lớn”

 Lớp có thuộc tính con trỏ, phải luôn kèm theo:

 Hàm hủy: thu hồi bộ nhớ

Trang 17

Tóm tắt

 Thành phần tĩnh:

 Thuộc tính và phương thức thuộc phạm vi lớp.

 Các đối tượng dùng chung thành phần tĩnh của lớp.

 Phương thức tĩnh chỉ truy xuất được thành phần tĩnh.

Trang 18

Nội dung

 Thành phần tĩnh.

 Ba vấn đề con trỏ.

Bài tập.

Trang 19

Bài tập

 Bài tập 5.1:

Dùng thành phần tĩnh để xây dựng bộ đếm đối tượng cho lớp Time

(Gợi ý)

 Khai báo thuộc tính tĩnh lưu số đối tượng được tạo ra

 Tăng giá trị thuộc tính này khi khởi tạo đối tượng

 Giảm giá trị thuộc tính này khi hủy đối tượng

 Xây dựng phương thức tĩnh để truy xuất thuộc tính này

Trang 20

Bài tập

 Bài tập 5.2:

Bổ sung vào lớp Date phương thức tĩnh cho phép tạo đối tượng từ

chuỗi “dd/MM/yyyy” cho trước

(Gợi ý)

 Phân tích chuỗi “dd/MM/yyyy” ra thành ngày, tháng, năm

 Khởi tạo đối tượng từ ngày, tháng, năm vừa phân tích

 Trả về đối tượng vừa tạo

Trang 21

Bài tập

 Bài tập 5.3:

Xây dựng lớp đa thức có những phương thức sau:

(Nhóm tạo hủy)

 Khởi tạo mặc định đa thức = 0

 Khởi tạo với bậc và mảng hệ số cho trước

 Khởi tạo từ một đối tượng đa thức khác

 Hủy đa thức, thu hồi bộ nhớ

(Nhóm truy xuất thông tin)

 Lấy bậc đa thức

 Lấy hệ số tại bậc nào đó

Trang 23

Bài tập

 Bài tập 5.4:

Xây dựng lớp chuỗi có những phương thức sau:

(Nhóm tạo hủy)

 Khởi tạo mặc định chuỗi rỗng

 Khởi tạo với từ chuỗi ký tự cho trước

 Khởi tạo từ một đối tượng chuỗi khác

 Hủy chuỗi, thu hồi bộ nhớ

(Nhóm truy xuất thông tin)

 Lấy chiều dài chuỗi

Ngày đăng: 03/12/2015, 20:33

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm