클래스 템플릿 문제& 솔루션

문제 1)
[ 배열템플릿 ]
아래의 코드를 보고 배열 템플릿을 구현하세요.
void main()
{
CTemplate< int , 3 > Ctemp(0);
Ctemp[0] = 100;
Ctemp[1] = 101;
Ctemp[2] = 102;
// Ctemp[-1] = 100; // 배열의범위가맞지않으면종료시킨다.
// Ctemp[3] = 100; // 배열의범위가맞지않으면종료시킨다.
}

문제 2)
 [ 2차원배열 처럼사용 ]
위 소스를 아래 처럼 사용할수 있도록 구현하세요.
Ctemp[0][0] = 100;
Ctemp[0][1] = 101;
Ctemp[0][2] = 102;

문제 3)
[ 배열 템플릿 출력 ]
아래 보이는 굵은 표시를 추가하여 아래와 같이 출력화면이 나오도록 구현하세요
void main()
{
CTemplate< int, 10 > Ctemp(0);
Ctemp[0] = 100;
Ctemp[1] = 101;
Ctemp[2] = 102;
cout << Ctemp;



솔루션은 소스로 공개~


2번과 3번 푸는데 상당히 애를 먹었다.
특히 2번~ ㅎㅎㅎㅎㅎ
2번의 핵심은 템플릿안의 템플릿이 있는 것1!!
교훈: operator[][] 이런 연산자 오버로딩은 없다!!! 

이 글을 공유하기

댓글

Designed by JB FACTORY