LẬP TRÌNH C nâng cao -BÀI 5 - TEMPLATE (TIẾP) part 1

BÀI 5: TEMPLATE (TIẾP) part 1 Lại đau đầu Ta muốn viết một chương trình tìm kiếm phần tử trong một dụ nếu là mảng các Person là đụng thêm vấn đề cấp phát bộ nhớ nữa Giải quyết Chương trình dưới đây trình bày cách tạo một lớp mảng template, với đủ các chức năng tạo, thêm, truy xuất dữ liệu, toán tử []. Đặc biệt là giải quyết đau đầu tìm kiếm dữ. | LẬP TRÌNH C C NÂNG CAO Yêu cầu trước khi đọc học xong Lập trình C C căn bản BÀI 5 TEMPLATE TIẾP part 1 Lại đau đầu Ta muốn viết một chương trình tìm kiếm phần tử trong một mảng. Ta viết như sau CODE template class T int search T a int n T key int index 0 while index n a index key index if index n return -1 else return index Sau đó trong hàm main ta viết CODE char list zero one two thực ra là mảng 2 chiều thôi search list 3 two ồ không lại so sánh memory address nữa rồi Nhưng lần này vấn đề phức tạp hơn nhiều. Ví dụ nếu là mảng các Person là đụng thêm vấn đề cấp phát bộ nhớ nữa Giải quyết Chương trình dưới đây trình bày cách tạo một lớp mảng template với đủ các chức năng tạo thêm truy xuất dữ liệu toán tử . Đặc biệt là giải quyết đau đầu tìm kiếm dữ liệu ở trên vì so sánh memory address. Lưu ý là khi tạo ta phải dùng reference refers to pointer để cấp phát bộ nhớ đó CODE include iostream using namespace std template class T class Array T array int size public Array int n Array void setValue const T int n thiết lập dữ liệu T getValue int n truy xuất dữ liệu void makeArray T arr int n tạo mảng T operator int i toán tử truy xuất dữ liệu mảng int seek const T key tìm kiếm trong mảng gọi hàm int search const T list int size const T key tìm kiếm trong mảng có sẵn template typename T Array T Array int n size n array new T size template typename T Array T Array delete array template typename T void Array T setValue const T value int n array n value template typename T T Array T getValue int n return array n template typename T void Array T makeArray T arr int n arr new T n template typename T T Array T operator int i return array i template typename T int Array T seek const T key int index 0 while index size array index key index if index size return -1 else return index template typename T int Array T search const T list int size const T key int index 0 while index size list index key index if index size return -1 else return index class Person int age public Person age 0

Không thể tạo bản xem trước, hãy bấm tải xuống
TÀI LIỆU MỚI ĐĂNG
15    22    4    30-11-2024
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.