코딩/C++

[C++ 기초] 함수 오버로딩 function overloading

영넌 2020. 10. 23. 16:23

overloading?

  - over + loading

  - 같은 함수이름이면서 매개변수의 개수나 타입이 다름

  - 함수 반황형은 상관없음

    아래와 같이 쓸 경우 오류임

    int func_a (int k)

    void func_a(int k)

 

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <cstring>

using namespace std;

struct Person {
	string name;
	unsigned int age;
};

Person* pdata = 0;

bool findPerson(string name) {
	for (int i = 0; i < 3; i++) {
		if (pdata[i].name == name) {
			return true;
		}
	}
	return false;
}

bool findPerson(unsigned int age) {
	for (int i = 0; i < 3; i++) {
		if (pdata[i].age == age) {
			return true;
		}
	}
	return false;
}

int main()
{
	pdata = new Person[3];

	
	pdata[0] = { "james",40 };
	pdata[1] = { "jane",20 };
	pdata[2] = { "tom", 15 };

	cout << boolalpha; //bool형을 true, false로 출력
	cout << "james: " << findPerson("james") << endl;
	cout << "21: " << findPerson(21) << endl;
	cout << "15: " << findPerson(15) << endl;


	return 0;
}