ν°μ€ν 리 λ·°
π§° ν¨μ μ€λ²λ‘λ© (function overloading)
λ§€κ°λ³μ (λ§€κ°λ³μμ μλ£ν, κ°μ, μμ) κ° λ€λ₯΄λ©΄ μ΄λ¦μ΄ κ°μ ν¨μ 2κ°λ₯Ό μ μν μ μλ€. μ΄λ₯Ό ν¨μ μ€λ²λ‘λ©μ΄λΌ νλ€.
int max(int a,int b) //max(int,int)
{
}
double max(double a,double b) //max(double,double)
{
}
// λ°λΌμ λ ν¨μλ ν¨μ μκ·Έλμ²κ° λ€λ₯΄λ―λ‘ κ°μ μ΄λ¦μ΄λΌλ ν¨κ» μ μ κ°λ₯
π§° ν¨μ μκ·Έλμ³ (function signature)
νλ‘κ·Έλ¨μ΄ κ°μ μ΄λ¦μ ν¨μλ₯Ό νμ©ν λ, ν¨μλ€μ ꡬλΆνκΈ° μν΄ μ¬μ©νλ κΈ°μ€μ ν¨μ μκ·Έλμ³ (function signature) λΌκ³ νλ€. ν¨μ μκ·Έλμ²λ λ§€κ°λ³μλ€μ μλ£νκ³Ό μ‘°ν©μ΄λ€. μ΄λ¦μ΄ κ°μ ν¨μλΌλ ν¨μ μκ·Έλμ³κ° λ€λ₯΄λ©΄ νΈμΆ μμ μ μ»΄νμΌλ¬κ° μμ μ΄ μ΄λ€ ν¨μλ₯Ό νΈμΆν΄μΌ νλμ§ κ΅¬λΆν μ μλ€.
κ·Έλ¬λ, 리ν΄κ°μ μ΄λ€ μλ£νμΌλ‘ νμ©ν μ§ νΈμΆμμ μ μ μ μμΌλ―λ‘ λ¦¬ν΄ μλ£νμ ν¨μ μκ·Έλμ²μ ν¬ν¨λμ§ μλλ€.
int get()
{
}
double get()
{
}
// 첫λ²μ§Έ ν¨μλ get()μ΄λ μκ·Έλμ²λ₯Ό κ°κ³ , λλ²μ§Έ ν¨μλν get()μ΄λΌλ μκ·Έλμ²λ₯Ό κ°μ§λ€.
// λ°λΌμ λ ν¨μλ₯Ό ν¨κ» μ μνλ©΄ μ»΄νμΌ μ€λ₯κ° λ°μνλ€.
𧨠ν¨μ μ€λ²λ‘λ© μμ 1)
#include <iostream>
using namespace std;
int max(int n1, int n2);
int max(int n1, int n2, int n3);
int max(int n1, int n2, int n3, int n4);
int main()
{
cout << "max(5,7): " << max(5, 7) << endl;
cout << "max(5,7,8): " << max(5, 7, 8) << endl;
cout << "max(1,-2,79,4): " << max(1, -2, 79, 4) << endl;
//μΈκ°μ signitureμ΄ λ€λ₯΄κΈ° λλ¬Έμ κ΅¬λΆ κ°λ₯
return 0;
}
int max(int n1, int n2)
{
int larger;
if (n1 >= n2)
larger = n1;
else
larger = n2;
return larger;
}
int max(int n1, int n2, int n3)
{
int larger;
larger = max(max(n1, n2), n3); // λκ°μ max ν¨μλ λ€λ₯΄λ€
return larger;
}
int max(int n1, int n2, int n3, int n4)
{
int larger;
larger = max(max(n1, n2, n3), n4);
return larger;
}
RESULT:
'μΈμ΄ > C++' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[C++] λ°°μ΄ μ½λ κ³Όμ 리뷰 (0) | 2023.03.29 |
---|---|
[C++] λ©λͺ¨λ¦¬ μμ κ·Έλ €λ³΄κΈ° _ 1μ°¨ ν΄μ¦ (1) | 2023.03.20 |
[C++] ν¨μ μλ£λ¦¬ν΄ (0) | 2023.03.20 |
[C++] ν¨μ μλ£μ λ¬ (0) | 2023.03.20 |
[C++] μ£Όμ μ λ ₯λ°κΈ° _ cin.getline() νμ© (0) | 2023.03.16 |