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

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

0
72
lượt xem
25
download

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

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 2 Trong phần trước ta đã xem các ví dụ dùng cách “tham chiếu mà tham chiếu đến con trỏ” Trong phần này chúng ta sẽ overload toán tử = và viết copy constructor cũng sử dụng lại cách này, mà không phải dùng đến prototype template function

Chủ đề:
Lưu

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

  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 2 Cuối cùng là “main.cpp” CODE #include "array.h" class Person { int age; public: Person() { age=0; } Person(int age) { this->age=age; } int getAge() const { return age; } friend bool operator!=(const Person& p1,const Person& p2) { return p1.getAge()!=p2.getAge(); } friend ostream& operator
  2. os
  3. Trong phần trước ta đã xem các ví dụ dùng cách “tham chiếu mà tham chiếu đến con trỏ” Trong phần này chúng ta sẽ overload toán tử = và viết copy constructor cũng sử dụng lại cách này, mà không phải dùng đến prototype template function CODE #include #include using namespace std; template class Array { public: int size; T* elems; Array(int); Array(const Array*&); void setValue(const T&,int i); T& getValue(int n); Array& operator=(const Array*&); friend bool operator!=(const Array&,const Array&); }; template Array::Array(int size) { elems = new T[size]; } template void Array::setValue(const T& value,int i) { *(elems+i) = value; } template
  4. T& Array::getValue(int i) { return *(elems+i); } template Array::Array(const Array*& src) { size=src.size; elems = new T[size]; for(int i=0;i
  5. return true; } int main() { Array a(2); a.setValue("hello",0); a.setValue("world",1); Array b(3); b = a; cout
Đồng bộ tài khoản