Bài giảng Lập trình hướng đối tượng - Chương 8: Template – Exception – Composite - Hồ Tuấn Thanh
Template – Exception –
Composite
Lập trình hướng đối tượng
Hồ Tuấn Thanh – [email protected]
11/15/18
1
Nội dung
• Function template
• Class template
• Xử lí ngoại lệ
• Mẫu Composite
2
Function template
3
Ví dụ cơ bản
4
Vấn đề 1: Cài đặt nhiều file
• Func.h
• Func.cpp
5
Vấn đề 1: Cài đặt nhiều file
• main.cpp
• Lỗi
6
Vấn đề 1: Cài đặt nhiều file
• Sửa lỗi cách 1.
• Sửa lỗi cách 2.
• (Thêm khai báo vào cuối file Func.cpp)
7
Vấn đề 2: Kiểu dữ liệu
tự định nghĩa
8
Vấn đề 2: Kiểu dữ liệu
tự định nghĩa
9
Vấn đề 3: Trường hợp đặc biệt
10
Vấn đề 3: Trường hợp đặc biệt
11
Class template
12
Ví dụ cơ bản
13
Xử lí ngoại lệ
14
Khi có lỗi lúc chạy chương
trình
• Thông báo lỗi và kết thúc chương trình
• Trả về giá trị đặc biệt thể hiện chương trình có
lỗi
• Sử dụng biến toàn cục lưu trạng thái lỗi
• Gọi một hàm qui ước khi có lỗi
15
Lợi ích của xử lí ngoại lệ
• Tiếng Anh: exception handling
• Tách biệt phần xử lí lỗi ra đoạn chương trình
bình thường
• Thông báo lỗi ra bên ngoài cho các hàm mức
cao hơn xử lí
16
try, throw và catch
• Cơ chế xử lí ngoại lệ trong C++/C#/Java được
xây dựng với 3 từ khóa chính: try, throw và
catch.
• Khối lệnh try chứa đoạn code mà ta cho rằng
sẽ có trường hợp phát sinh ngoại lệ, cần được
theo dõi.
• Lệnh throw dùng để tạo ra một ngoại lệ.
• Lệnh throw có thể do máy tính sinh ra.
• Hoặc do người lập trình throw khi cần.
• Khối lệnh catch chứa đoạn code xử lí khi ngoại
lệ đã xảy ra trong khối lệnh try.
17
Ví dụ
Ví dụ
• Với những trường hợp bình thường (y khác 0),
các câu lệnh trong khối try sẽ được chạy.
• Câu lệnh tính thương ở sau throw sẽ được chạy.
• Với trường hợp y bằng 0, ngay sau lệnh throw,
các câu lệnh trong khối catch sẽ được chạy.
• Câu lệnh tính thương ở sau throw sẽ ko được chạy.
19
throw và try
• Lệnh throw “ném” ra đối tượng kiểu gì thì lệnh
“catch” phải bắt đúng kiểu đó.
20
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lập trình hướng đối tượng - Chương 8: Template – Exception – Composite - Hồ Tuấn Thanh", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
bai_giang_lap_trinh_huong_doi_tuong_chuong_8_template_except.pdf
GiaiCuuCongChua-OOP version.png
RAII.cpp

