MỤC LỤC
+ Hàm tạo sao chộp sử dụng một ủối kiểu tham chiếu ủối tượng ủể khởi gỏn cho ủối tượng mới. // Cỏc cõu lệnh dựng cỏc thuộc tớnh của ủối tượng dt // ủể khởi gỏn cho cỏc thuộc tớnh của ủối tượng mới }. Chỳ ý: Nếu sử dụng ủối thụng thường thay vỡ ủối tham chiếu trong tiờu ủề hàm tạo sao chộp thỡ sẽ dẫn ủến ủệ quy vụ hạn.
Nhận xột: Mục ủớch của ta là tạo ra một ủối tượng u giống như d, nhưng ủộc lập với d. Thế nhưng mục tiờu này khụng ủạt ủược, vỡ u và d cú chung một vựng nhớ chứa hệ số của ủa thức, nờn khi sửa ủổi cỏc hệ số của ủa thức trong d thỡ cỏc hệ số của ủa thức trong u cũng thay ủổi theo. Cũn một trường hợp nữa cũng dẫn ủến lỗi là khi một trong 2 ủối tượng u và d bị giải phúng (thu hồi vựng nhớ chứa ủa thức) thỡ ủối tượng cũn lại cũng sẽ không còn vùng nhớ nữa.
Hàm huỷ là một hàm thành viên (phương thức) của lớp và có chức năng ngược với hàm tạo. Hàm huỷ ủược gọi trước khi giải phúng (xoỏ bỏ) một ủối tượng ủể thực hiện một số cụng việc cú tớnh “dọn dẹp” trước khi ủối tượng ủược huỷ bỏ, vớ dụ như giải phúng một vựng nhớ mà ủối tượng ủang quản lý, xoỏ ủối tượng khỏi màn hỡnh nếu như nú ủang hiển thị,.
Nội dung chương trỡnh là tạo ra cỏc chuyển ủộng xuống và lờn của cỏc hỡnh trũn. + Khi gọi hàm ht_di_dong_xuong thỡ cú 2 ủối tượng kiểu HT ủược tạo ra. Trong thõn hàm sử dụng cỏc ủối tượng này ủể vẽ cỏc hỡnh trũn di chuyển xuống.
Vựng nhớ của cỏc thuộc tớnh của chỳng bị thu hồi, nhưng vựng nhớ cấp phỏt cho thuộc tớnh pht chưa ủược giải phúng và ảnh của 2 hỡnh trũn (ở phớa dưới màn hỡnh) vẫn khụng ủược cất ủi. + ðiều tương tự xẩy ra sau khi ra khỏi hàm ht_di_dong_len : vùng nhớ cấp phát cho thuộc tớnh pht chưa ủược giải phúng và ảnh của 2 hỡnh trũn (ở phớa trờn màn hỡnh) vẫn khụng ủược thu dọn. Toỏn tử gỏn (cho lớp) là một trường hợp ủặc biệt so với cỏc toỏn tử khỏc.
Toỏn tử gỏn mặc ủịnh sẽ sẽ sao chộp ủối tượng nguồn (h2) vào ủối tượng ủớch (h1) theo từng bit một. Trong ủa số cỏc trường hợp khi lớp khụng cú cỏc thành phần con trỏ hay tham chiếu thỡ toỏn tử gỏn mặc ủịnh là ủủ dựng và khụng cần ủịnh nghĩa một phương thức toỏn tử gỏn cho lớp. Nhưng ủối với cỏc lớp cú thuộc tớnh con trỏ như lớp DT (ủa thức), lớp HT (hỡnh trũn) thỡ toỏn tử gỏn mặc ủịnh khụng thớch hợp và việc xõy dựng toán tử gán là cần thiết.
Nếu phương thức toỏn tử gỏn trả về tham chiếu của ủối tượng nguồn, thỡ cú thể dựng toỏn tử gỏn thể thực hiện cỏc phộp gỏn liờn tiếp nhiều ủối tượng. Với toỏn tử gỏn này, chỉ cho phộp gỏn ủối tượng nguồn cho một ủối tượng ủớch. Với toỏn tử gỏn mới này, ta cú thể viết cõu lệnh ủể gỏn ủối tượng nguồn cho nhiều ủối tượng ủớch.
+ Nếu bỏ hàm tạo sao chép (giữ toán tử gán) thì xuất hiện 4 hình tròn. Chú ý là trong các phương thức của lớp bao không cho phép truy nhập trực tiếp ủến cỏc thuộc tớnh của cỏc ủối tượng của cỏc lớp thành phần. Vớ dụ khi xõy dựng hàm tạo của lớp C, cần dựng cỏc hàm tạo của lớp A ủể khởi gỏn cho ủối tượng thành phần u và dựng cỏc hàm tạo của lớp B ủể khởi gỏn cho cỏc ủối tượng thành phần p, q.
Cỏch dựng hàm tạo của lớp thành phần ủể xõy dựng hàm tạo của lớp bao.
Mặc dự lớp bao cú cỏc thành phần ủối tượng, nhưng trong lớp bao lại khụng ủược phộp truy nhập ủến cỏc thuộc tớnh của cỏc ủối tượng này. + Trong cỏc lớp thành phần, xõy dựng sẵn cỏc phương thức ủể cú thể lấy ra cỏc thuộc tính của lớp. + Trong lớp bao dựng cỏc phương thức của lớp thành phần ủể nhận cỏc thuộc tớnh của cỏc ủối tượng thành viờn cần dựng ủến.
Thành phần tĩnh là chung cho cả lớp, nú khụng phải là riờng của mỗi ủối tượng. Vì vậy các câu lệnh in giá trị các thành phần này trong phương thức in là không logic.
+ Vỡ phương thức tĩnh là ủộc lập với cỏc ủối tượng, nờn khụng thể dựng phương thức tĩnh ủể xử lý dữ liệu của cỏc ủối tượng chủ thể trong lời gọi phương thức tĩnh. Nói cách khác không cho phép truy nhập tới các thuộc tính (trừ thuộc tớnh tĩnh) trong thõn phương thức tĩnh.
Cú thể dựng new và tờn lớp ủể cấp phỏt một vựng nhớ cho một hoặc một dẫy cỏc ủối tượng. + Giả sử con trỏ q trỏ tới ủịa chỉ ủầu vựng nhớ của một dẫy ủối tượng.
Lớp cú một hàm tạo mặc ủịnh, hàm tạo sao chộp, một hàm ủể ủảo dấu cỏc toạ ủộ và một hàm ủể trả về khoảng cỏch từ ủiểm ủến gốc toạ ủộ. Bổ sung thờm vào lớp DIEM phương thức toỏn tử so sỏnh == ủể xem hai.
+ Hàm tạo, hàm huỷ và cỏc phương thức push (ủưa một phần tử vào ngăn xếp), pop (lấy một phần tử ra từ ủỉnh ngăn xếp), isEmpty (kiểm tra ngăn xếp ủó trống chưa), isFull (kiểm tra ngăn xếp ủó ủầy chưa). Hiệu chỉnh lớp Stack bằng cỏch thờm vào hàm thành phần count ủể trả về.