C++에서 함수를 오버로드하는 규칙은 다음과 같습니다. 1. 매개변수 목록이 다릅니다(수, 유형 또는 순서). 2. 매개변수 수가 달라야 합니다. 3. 매개변수 유형이 달라야 합니다. 5. const 및 참조 한정자는 오버로드에 영향을 주지 않습니다.
함수 오버로드는 C++ 언어의 강력한 기능으로, 동일한 이름을 가진 여러 함수가 매개변수 목록에 따라 서로 다른 동작을 갖도록 허용합니다. 오버로드된 함수를 올바르게 사용하려면 다음 규칙을 따라야 합니다.
1. 매개변수 목록은 달라야 합니다.
오버로드된 함수의 매개변수 목록은 개수, 유형 또는 순서가 달라야 합니다. 예:
void print(int x); void print(double y);
2. 매개변수 개수는 달라야 합니다.
동일한 매개변수 개수를 가진 함수는 오버로드될 수 없습니다. 예:
// 错误,参数数量相同 void print(int x, int y); void print(int a, int b);
3. 매개변수 유형은 달라야 합니다.
매개변수 수는 동일하지만 유형이 다른 함수는 오버로드될 수 있습니다. 예:
void print(const char* s); void print(int x);
4. 매개변수 순서는 달라야 합니다.
매개변수 순서가 다른 함수는 동일한 유형이더라도 오버로드될 수 있습니다. 예:
void swap(int& x, int& y); void swap(double& a, double& b);
5. const 및 참조 한정자는 오버로드에 영향을 주지 않으며
const
참조 한정자는 함수 오버로드에 영향을 주지 않습니다. 예:
void print(const int& x); void print(int& y);
실용 사례
다음 예제 코드에서 함수 오버로드가 작동하는 모습을 볼 수 있습니다.
#include <iostream> using namespace std; void print(int x) { cout << "Integer: " << x << endl; } void print(double y) { cout << "Double: " << y << endl; } int main() { print(10); // 调用 print(int) print(3.14); // 调用 print(double) return 0; }
출력:
Integer: 10 Double: 3.14
위 내용은 C++ 함수 오버로드에서 함수 오버로드에 대한 규칙은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!