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

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 | 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à CODE include 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 friend ostream operator ostream os const Person p os endl return os int main Array Person a 3 Person 24 0 Person 15 1 Person 5 2 cout a Array Person b 3 cout equal a b endl return 0 Giải thích equal và operator đều là hai hàm bạn do đó để hoạt động cần có sẵn lớp Array. Nhưng lớp Array muốn biên dịch được phải cần có hai hàm này. Do đó ta phải khai báo prototype của hai hàm này trước. Nhưng vì đây là 2 template function nên khi khai báo lại prototype của chúng lần thứ hai trong một class template ở đây là class Array ta phải có cái kí hiệu này Khi đó là một prototype template function. Khi đó thay vì tập tin cpp chứa thân hàm include tập tin header chứa nguyên mẫu của hàm ta phải làm ngược lại. Kĩ thuật này hiểu và ứng dụng cực kì rắc rối nhưng khổ nỗi lại áp dụng rất nhiều về sau đặc biệt khi làm các game lớn. Biên dịch lại mã này với GCC Không bắt buộc nhưng nên làm nếu như sau này bạn có định làm việc với game trong môi trường nix và console. Hãy đem 3 tập tin này và thử biên dịch bằng GCC trong Linux thử xem. Nhớ tạo makefile. Trong trường bọn tôi chủ yếu làm việc bằng GCC và VI trong nix chứ không phải Window. Việc sử dụng các bộ Visual Studio tuy không bị cấm nhưng không được khuyến khích. Và bài tập lẫn bài thi đều phải submit nguyên project kèm makefile để biên dịch trong môi trường nix hết. Viết operator overload và copy constructor 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

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
203    313    10    20-04-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.