intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Lập trình hướng đối tượng: Bài 10 - Phạm Thị Bích Vân

Chia sẻ: Estupendo Estupendo | Ngày: | Loại File: PPTX | Số trang:12

39
lượt xem
5
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài 10 trình bày kiến thức về hàm và lớp template. Nội dung chính trong chương này gồm: hàm template, lớp template, Standard Template Library (STL), thành phần trong STL. Mời các bạn cùng tham khảo.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Lập trình hướng đối tượng: Bài 10 - Phạm Thị Bích Vân

  1. Bài 10: Hàm và lớp Template
  2. Hàm Template • Xét ví dụ sau: Viết hàm lấy trị tuyệt đối  của một số. Ta viết  nhiều hàm ứng với nhiều kiểu dữ liệu khác nhau. int MyAbs(int X) { return X>=0?X:­X; } long MyAbs(long X) {
  3. Hàm Template • Thay vì viết nhiều hàm ứng với nhiều kiểu dữ  liệu. Ta sẽ viết một hàm tổng quát dùng  Template như sau: template  T MyAbs(T x) { return (x>=0)?x:­x; } Gọi hàm: cout
  4. Hàm Template • Cú pháp: ▫ Tất cả các hàm template định nghĩa bắt đầu với  từ khóa template theo sau một danh sách các  tham số hình thức với hàm template vây quanh  trong các ngoặc nhọn () ▫  Mỗi tham số hình thức phải được đặt trước bởi  từ khóa class như:         template           hoặc template 
  5. Lớp Template • Lớp template cũng mang ý tưởng như hàm  tempale. • Ví dụ: Định nghĩa một lớp template stack.
  6. Lớp Template template class Stack  { private: int Size; //Kích thước stack int Top; T *StackPtr; public:  ~Stack() {
  7. Lớp Template • Định nghĩa phương thức của lớp template template int Stack::Push(const T &Item) { if (!IsFull()) { StackPtr[++Top] = Item; return 1;
  8. Lớp Template • Hàm main … Stack FloatStack(5); float F = 1.1; cout 
  9. Lớp Template • Chú ý: ▫ Hàm thành viên định nghĩa bên ngoài lớp  template bắt đầu với phần đầu là template  ▫ Ví dụ: template int Stack::Push(const T &Item)  { ……………. }
  10. STL • STL (Standard Template Library) là một bộ thư  viện vô cùng hữu dụng của C++. •  Dùng để làm việc với các cấu trúc dữ liệu phổ  biến như danh sách, hàng đợi, ngăn xếp và các  phép toán chủ yếu với các cấu trúc dữ liệu này  như tìm kiếm, sắp xếp, truy xuất, thêm, xóa,  sửa
  11. Thành phần trong STL  • Các container (các bộ lưu trữ dữ liệu):  ▫ là các cấu trúc dữ liệu phổ biến đã template hóa dùng  để lưu trữ các kiểu dữ liệu khác nhau ▫ Gồm hai loại:  sequential container (các bộ lưu trữ dữ liệu tuần tự) bao gồm  list, vector và deque  associative container (các bộ lưu trữ dữ liệu liên kết) bao  gồm map, multimap, set và multiset. • iterator (các con trỏ dữ liệu) là các con trỏ để trỏ đến các  phần tử trong các bộ lưu trữ. • Các algorithm (các thuật toán lưu trữ dữ liệu) là các hàm  phổ biến để làm việc với các bộ lưu trữ như thêm, xóa, sửa, 
  12. Thành phần trong STL  • Các function object (các đối tượng hàm) là các hàm và phép  toán phổ biến để làm việc với các phần tử được lưu trữ  cũng như các bộ lưu trữ và các thuật toán lưu trữ như cộng,  trừ, nhân, chia, so sánh. • Các adapter (các bộ tương thích) Các adapter chia làm 3 loại ▫ container adapter (các bộ tương thích lưu trữ) bao gồm stack,  queue và priority_queue ▫ iterator adapter (các bộ tương thích con trỏ) ▫ function adapter (các bộ tương thích hàm)
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2