It won't hurt to try
[C++/윈도우프로그래밍응용]6. 함수 본문
sum 함수
#include <iostream>
using namespace std;
// 더하기
int sum(int num1, int num2)
{
return num1 + num2;
}
int main()
{
int num1 = 1;
int num2 = 2;
int result = sum(num1, num2);
cout << num1 << " + " << num2 << " = " << result << endl;
}
c++은 절차적인 언어고, 빌드시 위에부터 순서대로 빌드하기 때문에
사용하고자 하는 함수가 먼저 선언되어있지 않으면 불러올수 없다는것을 깜빡하고 있었다.
나도 모르게 sum함수를 main보다 밑에 적었다가,, 왜 에러가 나고 있는지 알지 못했다 ...
sum함수를 main보다 밑에 선언하고 싶을때는 밑의 코드처럼 먼저 sum함수를 추상함수로 만들어 줍니다.
구현은 main보다 밑에서 ㅎㅎ
#include <iostream>
using namespace std;
// 추상함수
int sum(int num1, int num2);
// 밑에 처럼 자료형만 적어도 가능
// int sum(int, int)
int main()
{
int num1 = 1;
int num2 = 2;
int result = sum(num1, num2);
cout << num1 << " + " << num2 << " = " << result << endl;
}
// 구현함수
int sum(int num1, int num2)
{
return num1 + num2;
}
오버로딩(overloading)
#include <iostream>
using namespace std;
int sum(int, int);
int sum(int, int, int);
int main()
{
int num1 = 1;
int num2 = 2;
int result = sum(num1, num2);
cout << num1 << " + " << num2 << " = " << result << endl;
}
int sum(int num1, int num2)
{
return num1 + num2;
}
int sum(int num1, int num2, int num3)
{
return num1 + num2 + num3;
}
디폴트 함수(default function)
#include <iostream>
using namespace std;
int sum(int x, int y, int z=0, int w=0);
int main()
{
int x = 1;
int y = 2;
int z = 3;
int w = 3;
// z, w는 초기화 되어있기 때문에, 인자를 전달해도 되고 안해도 된다.
int result = sum(x,y);
cout << "result : " << result << endl;
}
int sum(int x, int y, int z, int w) {
return x+y+z+w;
}
300x250
300x250
'C++ > 윈도우프로그래밍응용' 카테고리의 다른 글
[C++/윈도우프로그래밍응용]8. 객체지향의 소개 (0) | 2021.09.23 |
---|---|
[C++/윈도우프로그래밍응용]7. 인수 전달과 반환 (0) | 2021.09.19 |
[C++/윈도우프로그래밍응용]5. 반복문 (0) | 2021.09.12 |
[C++/윈도우프로그래밍응용]4. 조건문 (0) | 2021.09.12 |
[C++/윈도우프로그래밍응용]3. 변수, 자료형, 연산자 (0) | 2021.09.12 |
Comments