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

OOP 05 static members and the big three

25 44 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 25
Dung lượng 3,54 MB

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

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

}

Trang 6

Nội dung

◼ Thành phần tĩnh.

◼ Bài tập.

Trang 8

Rò rỉ bộ nhớ!!

5

Trang 9

Array a1(5);

… }

Trang 11

Dùng chung

bộ nhớ!! Mất bộ nhớ!!

Trang 14

Rò rỉ bộ nhớ!!

Dùng chung

Trang 15

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

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

Trang 25

◼ Thời gian: 17h00 18/09/2017

Ngày đăng: 03/11/2019, 19:31