Rate this post

Hàm (function) trong C++ là một tập hợp các câu lệnh được đóng gói lại và được đặt tên, có thể được gọi từ nhiều chỗ khác trong chương trình. Hàm có thể nhận đầu vào (input) và trả ra kết quả (output) tùy thuộc vào yêu cầu của chương trình. Sử dụng hàm giúp tái sử dụng mã, giảm thiểu sự rối mắt và tăng tính bảo mật của chương trình.

Các bài viết liên quan:

Hàm trong C++ có thể có hoặc không có tham số đầu vào và có hoặc không có giá trị trả về. Các hàm có thể được định nghĩa trong cùng một file hoặc trong các file khác nhau và được sử dụng trong chương trình. C++ còn hỗ trợ hàm tạo và hàm hủy để thiết lập và xóa các đối tượng của lớp. Ngoài ra, C++ còn hỗ trợ các loại hàm đa cấp, hàm tự định nghĩa, hàm template và hàm inline để tăng hiệu suất chương trình.

Các loại hàm trong c++

Trong C++, có nhiều loại hàm khác nhau, bao gồm:

  1. Hàm thông thường: Là hàm có cấu trúc đầy đủ, có tên, có tham số và có giá trị trả về hoặc không.
  2. Hàm không tham số: Là hàm không có tham số đầu vào.
  3. Hàm không giá trị trả về: Là hàm không có giá trị trả về, sử dụng từ khóa void để khai báo.
  4. Hàm tạo và hàm hủy: Là hàm được sử dụng để thiết lập và xóa các đối tượng của lớp.
  5. Hàm tự định nghĩa: Là hàm được định nghĩa bởi người dùng, không có trong thư viện của ngôn ngữ.
  6. Hàm đa cấp: Là hàm có cùng tên nhưng có tham số khác nhau, hoặc có giá trị trả về khác nhau.
  7. Hàm template: Là hàm chung cho nhiều kiểu dữ liệu khác nhau, được sử dụng để tạo ra các hàm hoặc lớp chung.
  8. Hàm inline: Là hàm được chèn trực tiếp vào nơi gọi, giúp tăng hiệu suất chương trình.

Tại sao sử dụng hàm trong c++

Sử dụng hàm trong C++ giúp tái sử dụng mã, giảm thiểu sự rối mắt và tăng tính bảo mật của chương trình.

  1. Tái sử dụng mã: Hàm có thể được gọi từ nhiều chỗ khác trong chương trình, giúp giảm số lượng mã trùng lặp và dễ dàng quản lý chương trình.
  2. Giảm thiểu sự rối mắt: Hàm giúp tách mã thành các đơn vị nhỏ hơn, dễ dàng hiểu và quản lý hơn.
  3. Tăng tính bảo mật: Hàm giúp khóa mã và chỉ cho phép truy cập từ những chỗ cần thiết, giúp tăng tính bảo mật cho chương trình.
  4. Dễ dàng debug và test: Hàm giúp chia nhỏ chương trình, dễ dàng hơn để debug và test.
  5. Tăng hiệu suất chương trình: Sử dụng hàm inline hoặc hàm template giúp tăng hiệu suất chương trình.

Một số ví dụ sử dụng hàm trong c++

Dưới đây là một số ví dụ sử dụng hàm trong C++:

  1. Ví dụ về hàm thông thường:
int add(int a, int b) {
    return a + b;
}

int main() {
    int x = 3, y = 4;
    int sum = add(x, y);
    cout << "Sum of " << x << " and " << y << " is: " << sum << endl;
    return 0;
}
  1. Ví dụ về hàm không giá trị trả về:
void printHello() {
    cout << "Hello World!" << endl;
}

int main() {
    printHello();
    return 0;
}
  1. Ví dụ về hàm tạo và hàm hủy:
class MyClass {
public:
    MyClass() {
        cout << "MyClass object created." << endl;
    }

    ~MyClass() {
        cout << "MyClass object deleted." << endl;
    }
};

int main() {
    MyClass obj;
    return 0;
}
  1. Ví dụ về hàm tự định nghĩa:
template <typename T>
T max(T a, T b) {
    return (a > b) ? a : b;
}

int main() {
    int x = 3, y = 4;
    cout << "Max of " << x << " and " << y << " is: " << max(x, y) << endl;
    return 0;
}
  1. Ví dụ về hàm inline:
inline int multiply(int a, int b) {
    return a * b;
}

int main() {
    int x = 3, y = 4;
    cout << "Product of " << x << " and " << y << " is: " << multiply(x, y) << endl;
    return 0;
}

Lưu ý rằng các ví dụ trên chỉ là ví dụ cơ bản, chương trình thực tế có thể có nhiều hàm và các hàm có thể gọi nhau, chứa nhiều câu lệnh hơn.

Dưới đây là một ví dụ khác về sử dụng hàm trong C++:

  1. Ví dụ về hàm không tham số:
#include <iostream>
using namespace std;

void printDate() {
    cout << "Today is January 19th, 2023" << endl;
}

int main() {
    printDate();
    return 0;
}

Trong ví dụ trên, hàm printDate() không có tham số đầu vào và chỉ in ra một chuỗi với thông tin ngày hiện tại. Hàm này có thể được gọi từ nhiều chỗ khác trong chương trình.

  1. Ví dụ về hàm đa cấp:
#include <iostream>
using namespace std;

int add(int a, int b) {
    return a + b;
}

double add(double a, double b) {
    return a + b;
}

int main() {
    int x = 3, y = 4;
    double a = 3.5, b = 4.2;
    cout << "Sum of int numbers " << x << " and " << y << " is: " << add(x, y) << endl;
    cout << "Sum of double numbers " << a << " and " << b << " is: " << add(a, b) << endl;
    return 0;
}

Trong ví dụ trên, hàm add() được định nghĩa hai lần với tham số và giá trị trả về khác nhau. Khi gọi hàm, chương trình sẽ tự động chọn phiên bản hàm phù hợp với tham số truyền vào.

  1. Ví dụ về hàm template:
Copy codetemplate <typename T>
T min(T a, T b) {
    return (a < b) ? a : b;
}

int main() {
    int x = 3, y = 4;
    double a = 3.5, b = 4.2;
    cout << "Min of int numbers " << x << " and " << y << " is: " << min(x, y) << endl;
    cout << "Min of double numbers"<<endl;
}
  

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now