1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Lập trình hướng đối tượng C: Chương 8 - ThS. Trần Anh Dũng

64 7 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Bài giảng Lập trình hướng đối tượng C - Chương 8: Một số vấn đề khác. Nội dung chính trong chương này gồm có: Lập trình tổng quát, lập trình tổng quát trong C++, C++ template, khuôn mẫu hàm, khuôn mẫu lớp. Mời các bạn cùng tham khảo.

CHƯƠNG MỘT SỐ VẤN ĐỀ KHÁC ThS Trần Anh Dũng Khn mẫu (Template) 05/12/2014 Lập trình tổng qt Lập trình tổng quát C++ C++ template Khn mẫu hàm Khn mẫu lớp Lập trình hướng đối tượng Giới thiệu Ví dụ xét hàm hoán vị sau: void swap ( int& a, int& b){ int temp; temp = a; a = b; b = temp; } Nếu ta muốn thực công việc tương tự cho kiểu liệu khác, chẳng hạn float? 05/12/2014 Lập trình hướng đối tượng Giới thiệu Ví dụ khác: Ta định nghĩa lớp biểu diễn cấu trúc ngăn xếp cho kiểu int class Stack { public: Stack(); ~Stack(); void push ( const int& i); void pop ( int& i); bool isEmpty() const; // }; 05/12/2014 Lập trình hướng đối tượng Giới thiệu Khai báo định nghĩa Stack phụ thuộc mức độ vào kiểu liệu int Một số phương thức lấy tham số trả kiểu int Nếu ta muốn tạo ngăn xếp cho kiểu liệu khác sao? Ta có nên định nghĩa lại hoàn toàn lớp Stack (kết tạo nhiều lớp chẳng hạn IntStack, FloatStack,…) hay không? 05/12/2014 Lập trình hướng đối tượng Lập trình tổng quát Lập trình tổng quát phương pháp lập trình độc lập với chi tiết biểu diễn liệu Tư tưởng ta định nghĩa khái niệm không phụ thuộc biểu diễn cụ thể nào, sau kiểu liệu thích hợp làm tham số Như số trường hợp, đưa chi tiết kiểu liệu vào định nghĩa hàm lớp điều khơng có lợi 05/12/2014 Lập trình hướng đối tượng Lập trình tổng quát C Sử dụng trình tiền xử lý C Trình tiền xử lý thực thay text trước dịch Do đó, ta dùng #define để kiểu liệu thay đổi chỗ cần #define TYPE int void swap(TYPE & a, TYPE & b) { TYPE temp; temp = a; a = b; b = temp; } 05/12/2014 Lập trình hướng đối tượng Lập trình tổng quát C #define TYPE int void swap(TYPE & a, TYPE & b) { TYPE temp; temp = a; a = b; b = temp; } Sử dụng trình tiền xử lý C Nhàm chán dễ lỗi Chỉ cho phép định nghĩa chương trình 05/12/2014 Lập trình hướng đối tượng C++ Template Template (khuôn mẫu) chế thay cho phép tạo cấu trúc mà rõ kiểu liệu từ đầu Từ khóa template dùng C++ để báo cho trình biên dịch biết đoạn mã theo sau thao tác nhiều kiểu liệu chưa xác định 05/12/2014 Lập trình hướng đối tượng C++ Template Từ khóa template theo sau cặp ngoặc nhọn chứa tên kiểu liệu tùy ý cung cấp template template Một lệnh template có hiệu khai báo sau 05/12/2014 Lập trình hướng đối tượng 10 Kiểm sốt ngoại lệ – Ví dụ void main() { int x, y; double result; cout > x >> y; try { result = MyDivide(x, y); cout

Ngày đăng: 11/05/2021, 02:22

TỪ KHÓA LIÊN QUAN