숙제하는 데 문제가 있습니다. ((최대 sort_param.use 템플릿 프로그래밍 인간/직원의 이름을 인쇄하는 프로그램을 작성).) 인간과 직원은 다음과 같이 정의된다 :템플릿 정의 함수에 전달되는 유형을 파악하는 방법은 무엇입니까?
질문은 이것이다 : 내가 직면 한 문제는 이것이다struct human
{
char name[30];
char * family;
int id;
int sort_param;
};
struct employee
{
human h;
char post[50];
int sort_param;
};
직원과 사람의 이름을 인쇄하는 것은 함수에 전달되는 유형에 따라 다릅니다. 내 질문 : 컴퓨터가 데이터 형식에 따라 작동하도록 지시 할 수있는 방법. 유형이 다음 인간의 경우
cout << employee.h.name << endl;
: 유형이 다음 직원 인 경우 내 말은 그 유형이 될 수
cout << human.name << endl;
'employee'와'human' (well,'const' 참조)에 오버로드 된 함수에서 이름을 직접 출력하지 말고 인쇄하십시오. 일반적인 규칙이 적용됩니다. 간접적 인 추가 수준으로 인해 문제가 해결됩니다. C++ 17에서는'if constexpr'을 사용할 수는 있지만 실제로 사용할 수는 없습니다. –
* 최대 sort_param.use 템플릿 프로그래밍을 사용하여 사람/직원의 이름을 인쇄하는 프로그램 작성 * 함수/프로그램에 대한 입력은 무엇입니까? –
유형을 알아야 할 경우 템플리트가 잘못된 접근 방법입니다. 대신 함수를 오버로드해야합니다. 더 작은 규모에서도 Dietmar Kühl이 제안한 바와 같이 – StoryTeller