Cách sử dụng template trong c++

0
1947

Bài viết hôm nay mình sẽ hướng dẫn các bạn từ khóa template và cách sử dụng template trong c++.

  • template là một từ khóa trong C++, nó biểu diễn cho một kiểu dữ liệu trừu tượng có thể là int, float, class….
  • Tại sao lại sử dụng template ? Thay vì viết overloading từng phương thức cho các kiểu dữ liệu khác nhau thì ta chỉ cần viết một phương thức template cho tất cả.
  • template là từ khóa để báo cho trình biên dịch rằng đoạn mã sau đây định nghĩa cho nhiều kiểu dữ liệu và mã nguồn của nó sẽ được compile sinh ra tương ứng cho từng kiểu dữ liệu trong quá trình biên dịch.

Có 2 loại template cơ bản:

  • Function template: là một khuôn mẫu hàm, cho phép định nghĩa các hàm tổng quát thao tác cho nhiều kiểu dữ liệu.
  • Class template: là một khuôn mẫu lớp, cho phép định nghĩa các lớp tổng quát cho nhiều kiểu dữ liệu.

Cách dùng Function template trong C++

Cùng xem ví dụ sau:

Như vậy hai hàm cơ bản là giống nhau, chỉ khác nhau về dữ liệu. Thay vì viết hai hàm trên thì ta chỉ cần viết một hàm như sau:

Cùng chạy thử chương trình trên nhé.

Mình xin 5 phút quảng cáo nha =))

Giả sử bạn muốn dùng hai kiểu dữ liệu thì chúng ta sẽ làm như thế nào ? Đơn giản ta chỉ cần khai báo thêm một kiểu dữ liệu tông quát mà thôi.

 

Cách dùng class template trong C++

Với class thì cách dùng cũng tương tự như trên. Ở ví dụ sau mình sẽ khai báo một lớp Point chứa hai tọa độ x,y với kiểu tùy ý.

Lúc này nếu bạn muốn tạo ra một đối tượng trong hàm main thì bạn cần chỉ định kiểu tường minh cho chương trình. Ở đây mình chỉ định là kiểu int.

Lưu ý: Mỗi khai báo template chỉ được dùng cho một khối lệnh phía sau nó mà thôi.

Chúng ta có thể khai báo một template cùng với một kiểu dữ liệu chỉ định trước. Cùng xem ví dụ sau:

Bài viết mình đến đây là kết thúc. Cám ơn các bạn đã theo dõi !

avatar
  Subscribe  
Notify of