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

Chia sẻ: Yukogaru | Ngày: | Loại File: PDF | Số trang:6

0
89
lượt xem
25
download

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

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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.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ữ...

Chủ đề:
Lưu

Nội dung Text: LẬP TRÌNH C nâng cao -BÀI 5 - TEMPLATE (TIẾP) part 1

  1. 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 templateint search(T a[],int n,T key) { int index=0; while(index
  2. 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 }; templateArray::Array(int n) { size=n; array = new T[size]; } templateArray::~Array() { delete [] array; } templatevoid Array::setValue(const T& value,int n) { *(array+n) = value; } templateT& Array::getValue(int n) { return *(array+n); } templatevoid Array::makeArray(T *&arr,int n) { arr = new T[n]; }
  3. templateT& Array::operator[](int i) { return *(array+i); } templateint Array::seek(const T& key) { int index=0; while((index
  4. { os
  5. #include using namespace std; templateclass Array; templatebool equal(const Array&,const Array&); templateostream& operator
  6. } templatebool equal(const Array& a1,const Array& a2) { return a1.size==a2.size; } templateostream& operator
Đồng bộ tài khoản