C++

[C++] C++ ESPRESSO 중간 점검 3-12

c0rinne 2022. 4. 6. 17:00

중간 점검 (474p)

1. 변수의 절대값을 구하는 int abs(int x)를 함수 템플릿으로 정의하여 보라.

 

2. 두 수의 합을 계산하는 int add(int a, int b)를 함수 템플릿으로 구현하여 보자.

 

3. displayArray()라는 함수는 배열을 매개 변수로 받아서 반복 루프를 사용하여 배열의 원소를 화면에 출력한다. 어떤 타입의 배열도 처리할 수 있도록 함수 템플릿으로 정의하여 보라.

 

중간 점검 (482p)

1. 클래스 템플릿 형태로 라이브러리를 제공하면 어떤 장점이 있는가?

템플릿은 아무리 많이 있더라도 코드의 크기를 증가시키지 않는다.

라이브러리 안의 템플릿 중에서 사용자가 실제로 타입 매개 변수를 주어 사용한 템플릿만 코드로 변환된다. 나머지 템플릿은 코드 공간을 차지하지 않는다.

 

2. 세 개의 데이터를 가지고 있는 Triple라는 클래스를 클래스 템플릿으로 작성하여 보라.

 

중간 점검 (490p)

1. 스택에 peek() 연산을 추가하여 보라. peek()는 데이터를 삭제하지 않고 값만 복사해오는 함수이다.