Community

C++ 질문 드립니다

함수 포인터 배열을 활용한 사칙 계산 문제입니다. 코드는 다음과 같습니다. #include using namespace std; #define MAX_OP_COUNT 4 class UserObject { private: int (*mp_func_list[MAX_OP_COUNT])(int, int); public: int Add(int a, int b) { return a + b; } int Sub(int a, int b) { return a - b; } int Mul(int a, int b) { return a * b; } int Div(int a, int b) { return b ? a / b : 0; } UserObject() { mp_func_list[0] = &UserObject::Add; mp_func_list[1] = &UserObject::Sub; mp_func_list[2] = &UserObject::Mul; mp_func_list[3] = &UserObject::Div; } // [문제 2] 아래의 코드에 GetFuncList 함수의 반환값을 적어야 함 GetFuncList() { return mp_func_list; } }; int main() { UserObject data; // [문제 3] 아래의 코드에서 p변수의 자료형을 적어야 함 p = data.GetFuncList(); for (int i = 0; i < MAX_OP_COUNT; ++i) { // [문제 4] 아래의 코드에서 p 변수를 사용하려면 연산잔와 필요 형식을 적어야 함 cout << ( p )(5, 4) << endl; } return 0; } 결과 값: 9 1 20 1 [문제2], [문제3], [문제4]에서 요구하는 사항을 코드로 구현하려고 하는데 도저히 잘 몰라서 고수분께 여쭈어 봅니다.

Loading...

알림

알림이 없습니다