Có cách nào đơn giản hơn?. Function Template Đặc điểm của Function Template: Ghi chú: Phần khai báo hàm.. Mảng phân số?Có cách nào đơn giản hơn?. Class Template Đặc điểm của Class
Trang 1Thư viện C++
Trang 4Tìm min hai số thực?
Tìm min hai phân số?
Tìm min hai phân số?
Có cách nào đơn giản hơn?
Có cách nào đơn giản hơn?
Dùng Function Template!!
Trang 6Function Template
Đặc điểm của Function Template:
Ghi chú:
Phần khai báo hàm.
Phần gọi sử dụng hàm.
Trang 8Mảng phân số?
Có cách nào đơn giản hơn?
Có cách nào đơn giản hơn?
Dùng Class Template!!
Trang 9Mang<int> m1(10);
int a = m1.layPhanTu(5);
Mang<PhanSo> m2(5);
PhanSo p = m2.layPhanTu(2); }
Trang 10Class Template
Đặc điểm của Class Template:
Ghi chú:
Phần khai báo lớp.
Phần tạo và sử dụng đối tượng của lớp.
Trang 12Thư viện C++
Khái niệm thư viện:
việc thường gặp.
Thư viện chuẩn (C++ Standard Library).
Thư viện boost.
Thư viện MFC ( M icrosoft F oundation C lasses).
Trang 13Thư viện C++
Thư viện chuẩn:
Trang 14Thư viện C++
Thư viện STL ( S tandard T emplate L ibrary):
Trang 15Thư viện C++
Lớp string:
string(char *): khởi tạo từ một chuỗi ký tự.
length(): lấy chiều dài chuỗi.
Toán tử [ ]: lấy ký tự tại một vị trí nào đó.
Toán tử >, <, ==, >=, <=, !=: so sánh theo thứ tự từ điển.
Toán tử +, +=: nối chuỗi.
Trang 17 vector<T>(): khởi tạo mảng kiểu T.
size(): lấy kích thước mảng.
push_back(T): thêm phần tử vào cuối mảng.
Toán tử [ ]: lấy phần tử tại một vị trí nào đó.
Trang 19Tóm tắt
Template:
Hàm tổng quát cho nhiều kiểu dữ liệu khác nhau.
Kiểu cụ thể được quyết định khi gọi hàm.
Lớp tổng quát cho nhiều kiểu dữ liệu khác nhau.
Kiểu cụ thể được truyền vào khi tạo đối tượng từ lớp.
Phần cài đặt nằm cùng file:
Trang 21Nội dung
Template.
Thư viện C++.
Trang 23Bài tập
Bài tập 6.2:
Xây dựng lớp con trỏ thông minh cho mọi kiểu dữ liệu:
(Nhóm tạo hủy)
Khởi tạo mặc định con trỏ NULL.
Khởi tạo với kích thước bộ nhớ được cấp phát.
Khởi tạo từ một đối tượng con trỏ khác.
Hủy con trỏ, thu hồi bộ nhớ.
(Nhóm toán tử)
Toán tử số học: +, -, =.
Toán tử một ngôi: ++, .