Skip to content

Phụ lục D

Đối chiếu với tám tuần lý thuyết

Phụ lục này để bạn biết chính xác chỗ nào của sách dựa vào bài giảng nào, chỗ nào sách phải dạy thêm, và chỗ nào bài giảng có mà sách bỏ qua. Dùng nó khi ôn thi: gặp phần khó thì mở lại đúng tuần lý thuyết tương ứng.

D.1 Bài giảng dạy gì, sách dùng ở đâu

TuầnNội dung bài giảngSách
1Giới thiệu OOP; procedural vs hướng đối tượng; robustness / adaptability / reusability; tam giác P.I.E; link cài VS Code + MinGW0.6, 1.1, 6.5
2Hello world; tool-chain; ba loại lỗi syntax / runtime / logic; bốn lỗi thường gặp1.2, 1.6
3bool, if, switch; hàm: prototype, nạp chồng, tham số mặc định, inline, phạm vi, static cục bộ; tham chiếu và truyền tham chiếu; tham chiếu hằng1.3, 2.3
4Lớp và đối tượng; sơ đồ UML và ký hiệu; struct; constructor và danh sách khởi tạo; toán tử chấm; tách .h / .cpp với #ifndef; mảng đối tượng1.3, 1.4, 2.2, 2.3, 2.5
5Đóng gói; getter/setter; public / protected / private; tiền và hậu điều kiện; this; hàm thành viên static3.1 – 3.4
6Kế thừa; quan hệ is-a; điều khiển truy cập khi kế thừa; thứ tự constructor và destructor; truyền tham số cho constructor lớp cha; redefining; các kiểu cấu trúc kế thừa; friend4.1 – 4.6
7Đa hình; liên kết tĩnh và liên kết động; virtual; hàm thuần ảo; mảng con trỏ lớp cha; destructor ảo; truyền lớp cha theo giá trị (slicing)5.1 – 5.5
8Lớp trừu tượng; ngoại lệ: throw / try / catch, thứ tự nhánh catch, std::exception và what(), ném lại, bảo đảm an toàn ngoại lệ6.1 – 6.2, 7.1 – 7.6
phụBộ slide Pointer: con trỏ cơ bản, mảng và con trỏ, truyền con trỏ vào hàm, trả về con trỏ3.5, 5.3

D.2 Ba chỗ đề thi đòi mà bài giảng chưa dạy

Đây là kết quả của việc rà lại toàn bộ tám tuần slide cộng hai bộ slide Pointer. Ba mục dưới đây không xuất hiện trong bất kỳ slide nào, nhưng đều cần để làm được đề thi:

Thứ còn thiếuBằng chứngSách dạy ở
new / deleteKhông slide nào có. Tuần 7 chỉ nhắc chữ “delete operator” khi giải thích destructor ảo.Mục 3.5
std::vectorXuất hiện 0 lần trong 8 tuần slide. Đề thi ghi rõ “Tạo vector chứa Vehicle*”.Mục 5.4
Lỗi liên kếtTuần 2 chia lỗi thành 3 loại, không có loại này. Nó chỉ xuất hiện khi tách nhiều file, tức là từ tuần 4.Mục 1.6

Gợi ý cho người dạy

Ba chỗ trên đáng được bổ sung vào bài giảng, dù chỉ vài slide. Chúng nằm đúng trên đường đi tới điểm “chương trình chạy đúng” (3 điểm) — phần mà trung bình lớp đang hụt nhiều nhất.

Nếu không kịp bổ sung vào slide, ít nhất nên nhắc sinh viên đọc trước mục 3.5 và 5.4 của sách này trước buổi thực hành tuần 5.

D.3 Bài giảng có, sách không dùng

Không mục nào dưới đây xuất hiện trong thang điểm của 12 đề thi gần nhất, nên sách bỏ qua để tập trung thời gian. Chúng vẫn đáng học khi đã qua môn:

  • Hàm thành viên static (tuần 5) — biến dùng chung cho mọi đối tượng của lớp.
  • Tiền và hậu điều kiện (tuần 5) — cách viết hợp đồng của một phương thức.
  • friend class (tuần 6). Sách chỉ dùng friend đúng một lần cho hàm operator<< ở mục 5.6 — đó là ứng dụng phổ biến nhất của từ khoá này.
  • Kế thừa phân cấp, đa kế thừa dữ liệu, kế thừa lai (tuần 6). Sách dùng kế thừa đơn, kế thừa nhiều tầng và đa kế thừa giao diện — đúng ba kiểu mà đề thi hỏi.
  • Ném lại ngoại lệ và bảo đảm an toàn ngoại lệ (tuần 8) — mức nâng cao, đề thi chỉ yêu cầu bắt và xử lý.
  • Hàm inline, tham số mặc định, static cục bộ (tuần 3).

D.4 Thuật ngữ dùng thống nhất

Sách cố ý dùng lại đúng từ của bài giảng để bạn không phải nhớ hai bộ từ vựng:

Bài giảngSáchỞ mục
static binding / dynamic bindingliên kết tĩnh / liên kết động5.1
redefiningđịnh nghĩa lại (phân biệt với nạp chồng)4.6
pure virtual functionhàm thuần ảo6.2
abstract classlớp trừu tượng6.2
getter / accessor, setter / mutatorgetter, setter3.3
UML: dấu −, +, #; kiểu ghi sau tên; {virtual}, {abstract}giữ nguyên ký hiệu đó2.5
syntax / runtime / logic errorlỗi cú pháp / lúc chạy / logic (thêm: lỗi liên kết)1.6

Đọc xong và tự làm hết phần “Tự kiểm tra” rồi hãy đánh dấu.

© 2026 Ngan V.T. Nguyen · Nội dung theo giấy phép CC BY-NC-SA 4.0 · Code ví dụ theo giấy phép MIT · Ảnh của bên thứ ba giữ giấy phép riêng, ghi ở Phụ lục E

Nội dung theo giấy phép CC BY-NC-SA 4.0 · Code ví dụ theo giấy phép MIT · Ảnh của bên thứ ba giữ giấy phép riêng, ghi ở Phụ lục E