반응형

#include <iostream>
// 함수를 함수를 지시하는 포인터변수로 호출하는 예
using namespace std;

double gildong(int lns){
 return 0.05 * lns;
}

double moonsoo(int lns){
 return 0.03 * lns + 0.0004 * lns * lns;
}

void estimate(int lines, double (*pf)(int)){ //함수를 가리키는 포인터 변수를 인자로 넘겼다
 // double형을 리턴하는 함수를 가리키는 포인터임. 이 포인터변수나 (*포인터변수)나 같은 기능을 한다.
 // 즉, (*pf)(lines) == pf(lines) 같다. 그래서 2번 실행 해보겠음.
 cout << lines << "행을 실행하는데 ";
 cout << (*pf)(lines) << "시간이 걸립니다\n"; // 전자
 cout << pf(lines) << "시간이 걸립니다\n";  // 후자
}

int main()
{
 int code;
 cout << "필요한 코드의 행 수를 입력 : ";
 cin >> code;

 cout << "길동의 예상시간\n";
 estimate(code, gildong);
 cout << "문수의 예상시간\n";
 estimate(code, moonsoo);
 return 0;
}

반응형
Posted by Rainfly
l