Lập Trình C++ - Xây Dựng Template Trong C++ - Phan Xuân Chánh

Press ESC to close

Or check our Popular Categories...
Lập trình Tiếng Nhật Công nghệ thông tin Kỹ năng ứng dụng CNTT Tiếng Việt Chưa được phân loại

Template trong C++ là nền tảng của lập trình tổng quát (generic programming), tức là viết code theo các mà độc lập với bất kỳ kiểu cụ thể nào.

Template là từ khóa trong C++, chúng ta có thể hiểu rằng là nó một kiểu dữ liệu trừu tượng, đặc trưng cho các kiểu dữ liệu cơ bản. 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 biên dịch sinh ra tương ứng cho từng kiểu dữ liệu trong quá trình biên dịch. Có hai kiểu Template trong C++:

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

Đối với Function Template

#include<iostream> using namespace std; template <typename T> void Swap(T *a, T *b) { *a = *a + *b; *b = *a - *b; *a = *a - *b; } int main() { int a = 5; int b = 10; Swap<int>(&a, &b); cout << "a = " << a <<" b = " << b << endl; // a = 10, b = 5; double x = 3.5; double y = 5.6; Swap<double>(&x, &y); cout << "x = " << x << " y = " << y << endl; // x = 5.6, y = 3.5; return 0; }

Đối với Class Template

#include<iostream> using namespace std; template <class T> class Sort { public: static void interchangeSort(T *a, int n) { for (int i = 0; i < n - 1; i++) { for (int j = i + 1; j < n; j++) { if (*(a + i) < *(a + j)) Swap((a + i), (a + j)); } } } static void Swap(T* a, T* b) { *a = *a + *b; *b = *a - *b; *a = *a - *b; } }; int main() { int a[5] = { 10, 50, 30, 40, 20 }; int n = sizeof(a) / sizeof(a[0]); Sort<int>::interchangeSort(a, n); cout << " Sorted array : "; for (int i = 0; i < n; i++) cout << a[i] << " "; cout << endl; return 0; }

Categorized in:

Công nghệ thông tinLập trình

Tagged in:

C++

Share Article:

Phan Xuân Chánh 潘春正

Xin chào các bạn, mình là Phan Xuân Chánh (chữ Hán: 潘春正, tên trong tiếng Nhật: ファン・スアン・チャン). Hiện tại, công việc chính của mình là một lập trình viên.

View All Articles

Bình luậnHủy

Related Articles

[1000 bài tập lập trình C/C++] Bài 4: Tính S(n) = 1/2 + 1/4 + … + 1/2n

23 Tháng 7, 2025

[1000 bài tập lập trình C/C++] Bài 3: Tính S(n) = 1 + 1/2 + 1/3 + … + 1/n

31 Tháng 10, 2024

[1000 bài tập lập trình C/C++] Bài 2: Tính S(n) = 1^2 + 2^2 + … + n^2

20 Tháng 10, 2024

[1000 bài tập lập trình C/C++] Bài 1: Tính S(n) = 1 + 2 + 3 + … + n

19 Tháng 10, 2024

Other Stories

Mã hóa MD5 trong JavaScript

Next Story

Tạo Slug trong C#

Previous Story

Các bài viết trên blog này, ngoại trừ tiếng Việt thì đều là bản dịch từ AI. Do đó, bản dịch sang những ngôn ngữ khác sẽ có những sai sót về mặt từ vựng, ngữ pháp ở một mức độ nào đó.

Đa ngôn ngữ

  • Tiếng Việt

Bài viết mới nhất

Cài Webmin trên Ubuntu Server với vài bước đơn giản

27 Tháng 7, 2025

Hướng dẫn chuyển Git repo sang một dịch vụ lưu trữ khác

25 Tháng 7, 2025

[1000 bài tập lập trình C/C++] Bài 4: Tính S(n) = 1/2 + 1/4 + … + 1/2n

23 Tháng 7, 2025

Danh sách các CPU dùng socket LGA 1150 (FCLGA1150)

22 Tháng mười một, 2024

Lưu trữ

Lưu trữ Chọn tháng Tháng 7 2025 (3) Tháng mười một 2024 (2) Tháng 10 2024 (12) Tháng 9 2024 (3) Tháng 8 2024 (1) Tháng 7 2024 (9) Tháng 6 2024 (12) Tháng 5 2024 (15) Tháng 4 2024 (6) Tháng 3 2024 (11) Tháng 1 2024 (2) Tháng 12 2023 (1) Tháng mười một 2023 (1) Tháng 10 2023 (4) Tháng 9 2023 (5) Tháng 8 2023 (2) Tháng 7 2023 (6) Tháng 6 2023 (4) Tháng 4 2023 (1) Tháng 3 2023 (3) Tháng 2 2023 (1) Tháng 12 2022 (3) Tháng 10 2022 (1) Tháng 9 2022 (3) Tháng 8 2022 (3) Tháng 7 2022 (6) Tháng 6 2022 (4) Tháng 5 2022 (4) Tháng 4 2022 (2) Tháng 3 2022 (5) Tháng 2 2022 (2) Tháng 1 2022 (4) Tháng 12 2021 (3) Tháng mười một 2021 (2) Tháng 10 2021 (1) Tháng 9 2021 (4) Tháng 8 2021 (1) Tháng 6 2021 (2) Tháng 5 2021 (1) Tháng 4 2021 (2) Tháng 3 2021 (2) Tháng 2 2021 (1) Tháng 1 2021 (4) Tháng 12 2020 (3) Tháng mười một 2020 (3) Tháng 10 2020 (1) Tháng 9 2020 (4) Tháng 8 2020 (1)

Thể loại

Lập trình (68) Tiếng Nhật (24) Công nghệ thông tin (23) Kỹ năng ứng dụng CNTT (10) Tiếng Việt (7) Chưa được phân loại (5) Tiếng Anh (5) Kanji (4) Hán văn (Văn ngôn) (3) Ubuntu (3)

Thẻ tag

C# (18) Từ vựng tiếng Nhật (12) Lập trình căn bản (10) C++ (9) WordPress (7) JavaScript (6) Nội dung cũ từ trang phanxuanchanh.home.blog (6) PHP (6) Hán-Việt (5) C/C++ (5) Kanji (4) 1000 bài tập lập trình C/C++ (4) GitHub (4) Chia sẻ mã nguồn (4) Hàm băm (4) Tên các quốc gia trong tiếng Nhật (3) ASP.NET (3) UUID (3) GUID (3) furigana (3)

Từ khóa » Hàm Template Trong C