Hướng dẫn function overloading in c++ with example program pdf - nạp chồng hàm trong c ++ với chương trình ví dụ pdf

Trong hướng dẫn này, chúng tôi sẽ tìm hiểu về chức năng quá tải trong C ++ với các ví dụ.

Trong C ++, hai hàm có thể có cùng tên nếu số và/hoặc loại đối số được truyền là khác nhau.

Các chức năng này có cùng tên nhưng các đối số khác nhau được gọi là các hàm bị quá tải. Ví dụ:

// same name different arguments
int test() { }
int test(int a) { }
float test(double a) { }
int test(int a, double b) { }

Ở đây, tất cả 4 chức năng là các chức năng quá tải.

Lưu ý rằng các loại trả về của tất cả 4 chức năng này không giống nhau. Các chức năng quá tải có thể có hoặc không có các loại trả về khác nhau nhưng chúng phải có các đối số khác nhau. Ví dụ,

// Error code
int test(int a) { }
double test(int b){ }

Ở đây, cả hai hàm đều có cùng tên, cùng loại và cùng một số lượng đối số. Do đó, trình biên dịch sẽ ném lỗi.


Ví dụ 1: Quá tải bằng cách sử dụng các loại tham số khác nhau

// Program to compute absolute value
// Works for both int and float

#include 
using namespace std;

// function with float type parameter
float absolute(float var){
    if (var < 0.0)
        var = -var;
    return var;
}

// function with int type parameter
int absolute(int var) {
     if (var < 0)
         var = -var;
    return var;
}

int main() {
    
    // call function with int type parameter
    cout << "Absolute value of -5 = " << absolute(-5) << endl;

    // call function with float type parameter
    cout << "Absolute value of 5.5 = " << absolute(5.5f) << endl;
    return 0;
}

Đầu ra

Absolute value of -5 = 5
Absolute value of 5.5 = 5.5
làm việc quá tải cho hàm tuyệt đối ()
Hướng dẫn function overloading in c++ with example program pdf - nạp chồng hàm trong c ++ với chương trình ví dụ pdf
Working of overloading for the absolute() function

Trong chương trình này, chúng tôi quá tải chức năng

// Error code
int test(int a) { }
double test(int b){ }
5. Dựa trên loại tham số được truyền trong cuộc gọi hàm, hàm tương ứng được gọi.


Ví dụ 2: Quá tải bằng cách sử dụng số lượng tham số khác nhau

#include 
using namespace std;

// function with 2 parameters
void display(int var1, double var2) {
    cout << "Integer number: " << var1;
    cout << " and double number: " << var2 << endl;
}

// function with double type single parameter
void display(double var) {
    cout << "Double number: " << var << endl;
}

// function with int type single parameter
void display(int var) {
    cout << "Integer number: " << var << endl;
}

int main() {

    int a = 5;
    double b = 5.5;

    // call function with int type parameter
    display(a);

    // call function with double type parameter
    display(b);

    // call function with 2 parameters
    display(a, b);

    return 0;
}

Đầu ra

Integer number: 5
Float number: 5.5
Integer number: 5 and double number: 5.5

Absolute value of -5 = 5
Absolute value of 5.5 = 5.5
làm việc quá tải cho hàm tuyệt đối ()

Hướng dẫn function overloading in c++ with example program pdf - nạp chồng hàm trong c ++ với chương trình ví dụ pdf
Trong chương trình này, chúng tôi quá tải chức năng
// Error code
int test(int a) { }
double test(int b){ }
5. Dựa trên loại tham số được truyền trong cuộc gọi hàm, hàm tương ứng được gọi.

Ví dụ 2: Quá tải bằng cách sử dụng số lượng tham số khác nhau


Ở đây, hàm

// Error code
int test(int a) { }
double test(int b){ }
6 được gọi là ba lần với các đối số khác nhau. Tùy thuộc vào số lượng và loại đối số được truyền, hàm
// Error code
int test(int a) { }
double test(int b){ }
6 tương ứng được gọi.
In C++, many standard library functions are overloaded. For example, the
// Error code
int test(int a) { }
double test(int b){ }
8 function can take
// Error code
int test(int a) { }
double test(int b){ }
9,
// Program to compute absolute value
// Works for both int and float

#include 
using namespace std;

// function with float type parameter
float absolute(float var){
    if (var < 0.0)
        var = -var;
    return var;
}

// function with int type parameter
int absolute(int var) {
     if (var < 0)
         var = -var;
    return var;
}

int main() {
    
    // call function with int type parameter
    cout << "Absolute value of -5 = " << absolute(-5) << endl;

    // call function with float type parameter
    cout << "Absolute value of 5.5 = " << absolute(5.5f) << endl;
    return 0;
}
0,
// Program to compute absolute value
// Works for both int and float

#include 
using namespace std;

// function with float type parameter
float absolute(float var){
    if (var < 0.0)
        var = -var;
    return var;
}

// function with int type parameter
int absolute(int var) {
     if (var < 0)
         var = -var;
    return var;
}

int main() {
    
    // call function with int type parameter
    cout << "Absolute value of -5 = " << absolute(-5) << endl;

    // call function with float type parameter
    cout << "Absolute value of 5.5 = " << absolute(5.5f) << endl;
    return 0;
}
1 etc. as parameters. This is possible because the
// Error code
int test(int a) { }
double test(int b){ }
8 function is overloaded in C++.

Quá tải chức năng là một tính năng lập trình C ++ cho phép chúng tôi có nhiều hơn một hàm có cùng tên nhưng danh sách tham số khác nhau, khi tôi nói danh sách tham số, nó có nghĩa là loại dữ liệu và chuỗi của các tham số, ví dụ như danh sách tham số của hàm

// Program to compute absolute value
// Works for both int and float

#include 
using namespace std;

// function with float type parameter
float absolute(float var){
    if (var < 0.0)
        var = -var;
    return var;
}

// function with int type parameter
int absolute(int var) {
     if (var < 0)
         var = -var;
    return var;
}

int main() {
    
    // call function with int type parameter
    cout << "Absolute value of -5 = " << absolute(-5) << endl;

    // call function with float type parameter
    cout << "Absolute value of 5.5 = " << absolute(5.5f) << endl;
    return 0;
}
3 là
// Program to compute absolute value
// Works for both int and float

#include 
using namespace std;

// function with float type parameter
float absolute(float var){
    if (var < 0.0)
        var = -var;
    return var;
}

// function with int type parameter
int absolute(int var) {
     if (var < 0)
         var = -var;
    return var;
}

int main() {
    
    // call function with int type parameter
    cout << "Absolute value of -5 = " << absolute(-5) << endl;

    // call function with float type parameter
    cout << "Absolute value of 5.5 = " << absolute(5.5f) << endl;
    return 0;
}
4 khác với danh sách tham số
// Program to compute absolute value
// Works for both int and float

#include 
using namespace std;

// function with float type parameter
float absolute(float var){
    if (var < 0.0)
        var = -var;
    return var;
}

// function with int type parameter
int absolute(int var) {
     if (var < 0)
         var = -var;
    return var;
}

int main() {
    
    // call function with int type parameter
    cout << "Absolute value of -5 = " << absolute(-5) << endl;

    // call function with float type parameter
    cout << "Absolute value of 5.5 = " << absolute(5.5f) << endl;
    return 0;
}
5
// Program to compute absolute value
// Works for both int and float

#include 
using namespace std;

// function with float type parameter
float absolute(float var){
    if (var < 0.0)
        var = -var;
    return var;
}

// function with int type parameter
int absolute(int var) {
     if (var < 0)
         var = -var;
    return var;
}

int main() {
    
    // call function with int type parameter
    cout << "Absolute value of -5 = " << absolute(-5) << endl;

    // call function with float type parameter
    cout << "Absolute value of 5.5 = " << absolute(5.5f) << endl;
    return 0;
}
6. Quá tải chức năng là một đa hình thời gian biên dịch. Bây giờ chúng ta biết danh sách tham số là gì cho phép xem các quy tắc quá tải: chúng ta có thể có các chức năng sau trong cùng một phạm vi.
Now that we know what is parameter list lets see the rules of overloading: we can have following functions in the same scope.

sum(int num1, int num2)
sum(int num1, int num2, int num3)
sum(int num1, double num2)

Cách dễ nhất để nhớ quy tắc này là các tham số nên đủ điều kiện bất kỳ một hoặc nhiều điều kiện sau đây, chúng nên có loại, số hoặc chuỗi tham số khác nhau.type, number or sequence of parameters.

Ví dụ: hai chức năng này có loại tham số khác nhau:
These two functions have different parameter type:

sum(int num1, int num2)
sum(double num1, double num2)

Hai số này có số lượng tham số khác nhau:number of parameters:

sum(int num1, int num2)
sum(int num1, int num2, int num3)

Hai điều này có chuỗi tham số khác nhau:sequence of parameters:

sum(int num1, double num2)
sum(double num1, int num2)

Tất cả ba trường hợp trên là trường hợp quá tải hợp lệ. Chúng ta có thể có bất kỳ số lượng chức năng nào, chỉ cần nhớ rằng danh sách tham số nên khác nhau. Ví dụ:

// Error code
int test(int a) { }
double test(int b){ }
0

Điều này không được phép vì danh sách tham số là giống nhau. Mặc dù họ có các loại trả lại khác nhau, nhưng nó không hợp lệ.

Chức năng quá tải ví dụ

Hãy lấy một ví dụ để hiểu quá tải chức năng trong C ++.

// Error code
int test(int a) { }
double test(int b){ }
1

Output:

// Error code
int test(int a) { }
double test(int b){ }
2

Chức năng quá tải Ví dụ 2

Như tôi đã đề cập ở phần đầu của hướng dẫn này rằng các chức năng có các loại trả về khác nhau và cùng một danh sách tham số không thể bị quá tải. Tuy nhiên, nếu các hàm có danh sách tham số khác nhau thì chúng có thể có các loại trả về hoặc khác nhau để đủ điều kiện để quá tải. Tóm lại, loại trả về của một hàm không đóng bất kỳ vai trò nào trong quá tải chức năng. Tất cả những gì quan trọng là danh sách tham số của chức năng.
does not play any role in function overloading. All that matters is the parameter list of function.

// Error code
int test(int a) { }
double test(int b){ }
3

Output:

// Error code
int test(int a) { }
double test(int b){ }
4

Ưu điểm của quá tải chức năng

Ưu điểm chính của quá tải chức năng là cải thiện khả năng đọc mã và cho phép tái sử dụng mã. Trong ví dụ 1, chúng ta đã thấy làm thế nào chúng ta có thể có nhiều hơn một hàm cho cùng một nhiệm vụ (bổ sung) với các tham số khác nhau, điều này cho phép chúng ta thêm hai số nguyên cũng như ba số nguyên, nếu chúng ta muốn chúng ta có thể có Một số chức năng khác có cùng tên và bốn hoặc năm đối số. Hãy tưởng tượng nếu chúng ta không quá tải chức năng, chúng ta có giới hạn chỉ thêm hai số nguyên hoặc chúng ta phải viết các hàm tên khác nhau cho cùng một tác vụ, điều này sẽ làm giảm khả năng đọc và tái sử dụng mã.code readability and allows code reusability. In the example 1, we have seen how we were able to have more than one function for the same task(addition) with different parameters, this allowed us to add two integer numbers as well as three integer numbers, if we wanted we could have some more functions with same name and four or five arguments.
Imagine if we didn’t have function overloading, we either have the limitation to add only two integers or we had to write different name functions for the same task addition, this would reduce the code readability and reusability.

Quá tải chức năng giải thích với ví dụ trong c?

Quá tải chức năng là một tính năng của lập trình hướng đối tượng trong đó hai hoặc nhiều hàm có thể có cùng tên nhưng các tham số khác nhau. Khi một tên hàm bị quá tải với các công việc khác nhau, nó được gọi là quá tải chức năng.a feature of object-oriented programming where two or more functions can have the same name but different parameters. When a function name is overloaded with different jobs it is called Function Overloading.

Chức năng quá tải PDF là gì?

 Quá tải chức năng có nghĩa là hai hoặc nhiều hàm có cùng tên, nhưng khác nhau về số lượng.Đối số hoặc các loại dữ liệu của các đối số.two or more functions have same name, but differ in the number of. arguments or data types of arguments.

Quá tải chức năng giải thích với cú pháp và ví dụ lập trình là gì?

Quá tải chức năng là một tính năng của lập trình hướng đối tượng, cho phép hai hoặc nhiều hàm được tạo với cùng tên nhưng với các đối số khác nhau (số lượng đối số khác nhau hoặc các loại dữ liệu khác nhau của các đối số).Ví dụ: // Chức năng có cùng tên và các đối số khác nhau.a feature of object-oriented programming, which allows two or more functions to be created with the same name but with different arguments (different number of arguments or different data types of arguments). For example : // Function with the same name and different arguments.

Chức năng quá tải cho ví dụ là gì?

Quá tải chức năng là một tính năng lập trình C ++ cho phép chúng tôi có nhiều hơn một hàm có cùng tên nhưng danh sách tham số khác nhau, khi tôi nói danh sách tham số, nó có nghĩa là loại dữ liệu và chuỗi của các tham số, ví dụ như danh sách tham số của hàm myfuncn(int a, float b) là (int, float) là ...a C++ programming feature that allows us to have more than one function having same name but different parameter list, when I say parameter list, it means the data type and sequence of the parameters, for example the parameters list of a function myfuncn(int a, float b) is (int, float) which is ...