ngÔn ngỮ lẬp trÌnh Ôn tẬp - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/nnlt/ontap.pdfnội...
TRANSCRIPT
![Page 1: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/1.jpg)
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 1
NGÔN NGỮ LẬP TRÌNH
ÔN TẬP
![Page 2: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/2.jpg)
Cấu trúc đề thi
• Câu hỏi dạng lý thuyết 5 câu
• Câu hỏi dạng bài tập 30 câu
– Kết quả đoạn chương trình
– Điền code vào chỗ trống
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 2
![Page 3: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/3.jpg)
Nội dung ôn tập • Quy tắc chung
• Các loại dữ liệu
• Các cấu trúc điều khiển
• Hàm, nạp chồng hàm, khuôn mẫu hàm, hàm đệ quy
• Mảng, con trỏ, mảng động
• Cấu trúc, lớp, đối tượng, các quyền truy cập dữ liệu trong lớp
• Hàm tạo, hàm hủy, kế thừa, đa kế thừa, đa hình, hàm ảo, hàm thuần ảo, lớp trừu tượng
• Nạp chồng toán tử
• Thư viện khuôn mẫu chuẩn - STL
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 3
![Page 4: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/4.jpg)
Quy tắc chung
• Quy tắc đặt tên
• Quy tắc viết chú thích
• Phạm vi sử dụng biến
• Nhập / xuất dữ liệu, luồng vào >>, luồng ra
<<, xuất các ký tự đặc biệt (\n, \t, \”…)
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 4
![Page 5: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/5.jpg)
Các kiểu dữ liệu
• Kiểu cơ sở
• Kiểu mảng
• Kiểu vector
• So sánh mảng và vector
• Cách truy cập mảng, vector
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 5
![Page 6: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/6.jpg)
Các cấu trúc điều khiển
• Rẽ nhánh:
– if…., if… else
– switch…. case
• Lặp:
– for
– while
– do … while
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 6
![Page 7: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/7.jpg)
if/ if … else
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 7
![Page 8: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/8.jpg)
if … else rút gọn
• Toán tử điều kiện:
• Trả về giá trị 1 nếu biểu thức kiểm tra cho kết
quả đúng, ngược lại trả về giá trị 2
• VD:
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 8
![Page 9: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/9.jpg)
switch….case
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 9
Sau mỗi lựa chọn nên có lệnh break để thoát khỏi khối lệnh
Nếu cách xử lý của nhiều lựa chọn giống nhau thì viết:
Khi không gặp trường hợp nào ở trên thì câu lệnh ở đây
được thực hiện
![Page 10: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/10.jpg)
for
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 10
Dấu phân cách giữa các lệnh ở đây là dấu ;
Nếu không có cặp ngoặc này thì chỉ một lệnh được thực hiện trong
vòng lặp for
Nếu có dấu ; ở đây thì không lệnh nào phía dưới
được thực hiện trong vòng lặp for
![Page 11: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/11.jpg)
Cách khai báo hàm
Khai báo trước, định nghĩa sau Khai báo kèm định nghĩa luôn
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 11
Nhưng đều phải ở ngoài hàm main
![Page 12: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/12.jpg)
Chú ý kiểu trả về của hàm
• Kiểu trả về là void
thì không cần return
• Các kiểu trả về khác
thì return một giá trị
cùng kiểu trả về
• Ví dụ:
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 12
![Page 13: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/13.jpg)
Cách gọi hàm
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 13
• Kiểu trả về là void thì
không được gọi trong
lệnh cout hoặc trong
các biểu thức
![Page 14: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/14.jpg)
Cách gọi hàm
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 14
• Các kiểu trả về khác
thì có thể được gọi
trong lệnh cout hoặc
trong các biểu thức
![Page 15: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/15.jpg)
Chú ý tham số truyền vào hàm
• Nếu muốn nhận được sự thay đổi của tham số
truyền vào hàm sau lời gọi hàm thì phải truyền
bằng tham chiếu (truyền địa chỉ của biến)
• Ngược lại truyền bằng tham trị (truyền giá trị
của biến)
• Ví dụ:
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 15
![Page 16: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/16.jpg)
Chú ý tham số truyền vào hàm
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 16
Truyền vào địa chỉ của biến a và b
![Page 17: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/17.jpg)
Nạp chồng hàm
• Là cách viết nhiều hàm trùng tên nhưng khác
nhau về:
– Kiểu của các tham số
– Số lượng các tham số
– Kiểu trả về của hàm
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 17
![Page 18: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/18.jpg)
Nạp chồng hàm
• Ví dụ:
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 18
![Page 19: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/19.jpg)
Khuôn mẫu hàm
• Là cách viết một hàm ở dạng tổng quát thay vì
phải viết nhiều hàm nạp chồng có phần định
nghĩa giống nhau, chỉ khác nhau về kiểu tham
số và kiểu trả về
• Ví dụ:
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 19
![Page 20: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/20.jpg)
Khuôn mẫu hàm
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 20
![Page 21: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/21.jpg)
Hàm đệ quy
• Là hàm mà trong thân hàm có lời gọi đến
chính hàm đó.
• Một hàm đệ quy được chia làm 2 phần:
– Phần cơ sở: điều kiện thoát khỏi đệ quy
– Phần đệ quy: gọi hàm với tham số tiến dần đến
phần cơ sở
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 21
![Page 22: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/22.jpg)
Hàm đệ quy
• Ví dụ:
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 22
Phần cơ sở
Phần đệ quy
![Page 23: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/23.jpg)
Mảng
• Là tập hợp các biến cùng kiểu được đặt chung
1 tên
• Các cách khai báo mảng:
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 23
![Page 24: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/24.jpg)
Khởi tạo giá trị cho các phần tử của mảng
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 24
• Nếu không khởi tạo thì các phần tử của mảng nhận giá trị mặc định
• Nếu giá trị khởi tạo nhiều hơn kích thước mảng thì sẽ báo lỗi
• Nếu không đủ giá trị khởi tạo thì những phần tử còn lại sẽ nhận giá trị 0
• Nếu kích thước mảng không được khai báo thì danh sách khởi tạo sẽ xác định kích thước mảng
![Page 25: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/25.jpg)
Sử dụng mảng
• Mảng được truy cập thông qua chỉ số
• Các chỉ số của mảng được đánh từ 0 -> n-1
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 25
![Page 26: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/26.jpg)
Sử dụng mảng
• Khi 1 mảng làm tham số cho hàm thì:
– Phần định nghĩa hàm chỉ cần viết khai báo mảng
không có số phần tử
– Phần gọi hàm không cần truyền số phần tử vào
tham số
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 26
![Page 27: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/27.jpg)
Sử dụng mảng
• Ví dụ:
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 27
![Page 28: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/28.jpg)
Con trỏ
• Là biến chứa địa chỉ của một vùng nhớ mà nó
trỏ đến
• Khai báo con trỏ <tên kiểu> *<tên biến>
– Ví dụ: int *p; double *t;
• Sử dụng:
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 28
![Page 29: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/29.jpg)
Con trỏ • Sử dụng:
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 29
5 10 10
![Page 30: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/30.jpg)
Con trỏ • Cấp phát vùng nhớ khi cần (dùng toán tử new)
• Hủy vùng nhớ khi không sử dụng (delete)
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 30
![Page 31: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/31.jpg)
Mảng động
• Mảng động là mảng có kích thước không được chỉ ra tại thời điểm lập trình
• Kích thước của mảng được quyết định khi chương trình chạy
• Kích thước có thể được tăng thêm hoặc co lại khi cần -> tránh lãng phí bộ nhớ
• Sử dụng biến con trỏ để quản lý mảng động
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 31
![Page 32: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/32.jpg)
Mảng động
• Cấp phát mảng động
• Hủy mảng động
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 32
![Page 33: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/33.jpg)
Sử dụng mảng động • Dùng chỉ số truy cập như mảng tĩnh
• Không dùng chỉ số
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 33
![Page 34: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/34.jpg)
Cấu trúc (struct)
• Là kiểu dữ liệu gộp giống như mảng
• Tuy nhiên:
Mảng là tập các giá trị có cùng kiểu
Cấu trúc là tập các giá trị có kiểu khác nhau
Cần phải định nghĩa trước khi sử dụng
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 34
![Page 35: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/35.jpg)
Định nghĩa cấu trúc
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 35
![Page 36: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/36.jpg)
Định nghĩa cấu trúc
• Ví dụ
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 36
![Page 37: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/37.jpg)
Sử dụng cấu trúc
• Để truy cập vào từng thành phần của cấu trúc
dùng dấu (.)
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 37
![Page 38: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/38.jpg)
Ví dụ
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 38
Khai báo một mảng d gồm 3 phần tử kiểu date
Truy cập vào từng thành phần của kiểu date bằng
dấu .
![Page 39: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/39.jpg)
Lớp
• Tương tự như cấu trúc
• Khác:
– Cho phép che dấu thông tin
– Phân quyền truy cập (private, protected, public)
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 39
![Page 40: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/40.jpg)
Định nghĩa lớp
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 40
![Page 41: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/41.jpg)
Định nghĩa lớp
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 41
• Ví dụ: định nghĩa lớp phân số Các thành phần dữ liệu được che
dấu bởi từ khóa private
Các hàm thành phần công khai được khai báo sau từ khóa public
Các hàm khởi tạo
Hàm hủy
![Page 42: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/42.jpg)
Sử dụng lớp
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 42
![Page 43: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/43.jpg)
Nạp chồng toán tử
• Các cách nạp chồng:
– Nạp chồng ngoài lớp
– Nạp chồng bằng hàm bạn
– Nạp chồng bằng hàm thành viên của lớp
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 43
![Page 44: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/44.jpg)
Nạp chồng ngoài lớp
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 44
![Page 45: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/45.jpg)
Nạp chồng bằng hàm bạn
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 45
![Page 46: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/46.jpg)
Nạp chồng trong lớp
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 46
![Page 47: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/47.jpg)
Sử dụng toán tử đã nạp chồng
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 47
![Page 48: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/48.jpg)
Kế thừa
• Một lớp có thể được kế thừa từ một hoặc nhiều
lớp khác
• Phạm vi truy xuất các thành phần được kế thừa
phụ thuộc vào kiểu kế thừa (public, protected,
private)
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 48
![Page 49: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/49.jpg)
Cú pháp định nghĩa lớp kế thừa
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 49
• Lớp dẫn xuất có thể truy cập các thành phần protected và public của lớp cơ sở
• Lớp dẫn xuất vẫn kế thừa các thành phần private của lớp cơ sở nhưng không thể truy cập trực tiếp được
![Page 50: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/50.jpg)
Quy trình gọi hàm khởi tạo và hàm hủy
của lớp dẫn xuất và lớp cơ sở
• Khởi tạo lớp cơ sở,
khởi tạo lớp dẫn
xuất
• Hủy lớp dẫn xuất,
hủy lớp cơ sở
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 50
![Page 51: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/51.jpg)
Khái niệm định nghĩa lại trong kế thừa
• Phân biệt nạp chồng với định nghĩa lại
– Nạp chồng: tên hàm giống hệt cái trước, nhưng
phải khác kiểu trả về hoặc khác tham số
– Định nghĩa lại: tên hàm phải giống, kiểu trả về và
các tham số cũng phải giống hệt cái trước, chỉ khác
về cách làm việc
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 51
![Page 52: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/52.jpg)
Đa hình
• Đa hình là cách thể hiện khác nhau của một hàm ở lớp cơ sở và các lớp dẫn xuất
• VD: 3 hàm nhap() trong minh họa làm 3 việc khác nhau
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 52
![Page 53: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/53.jpg)
Hàm ảo
• Hàm ảo giúp thể hiện rõ tính đa hình trong quá trình liên kết muộn
• Hàm ảo có từ khóa virtual trước khai báo hàm
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 53
![Page 54: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/54.jpg)
Hàm thuần ảo
• Hàm thuần ảo là hàm ảo không cần định nghĩa
• Ở lớp dẫn xuất, nếu không ghi đè hàm thuần ảo thì hàm đó vẫn là hàm thuần ảo
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 54
![Page 55: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/55.jpg)
Lớp trừu tượng
• Một lớp có hàm thuần ảo được gọi là lớp trừu
tượng
• Một lớp là lớp trừu tượng thì không thể được
dùng làm kiểu để khai báo đối tượng
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 55
![Page 56: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/56.jpg)
Không gian tên
• Sử dụng không gian tên nhằm xác định chính
xác địa chỉ của một hàm
• Cách tạo không gian tên
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 56
![Page 57: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/57.jpg)
Sử dụng không gian tên
• Hoặc
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 57
![Page 58: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/58.jpg)
Thư viện chuẩn
• Nhận biết một số thư viện chuẩn
• Biết các hàm, các cấu trúc được cung cấp bởi
thư viện chuẩn
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 58
![Page 59: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc](https://reader030.vdocuments.pub/reader030/viewer/2022041301/5e11426b27cd0a30f664434f/html5/thumbnails/59.jpg)
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 59