본문 바로가기
42seoul/circle-4

[ CPP08 ] 0. 과제 이해하기

by saniii 2022. 8. 6.

 

STL을 사용해봅시다. 최대한 많이 

 


ex00

오른발을 내딛기 위한 쉬운 연습.

 

type T를 이용하는 템플릿 함수 easyfind를 작성하세요.

  • 이 함수는 두개의 파라미터를 받는데 첫번째는 type T이고 두번째는 int 입니다. 
  • 첫번째 파라미터는 정수로된 컨테이너이다. 이 함수는  첫번째 파라미터에서 두번째 파라미터가 처음으로 발견되는 부분을 찾습니다. 
  • 발견되지 않으면 예외를 던지거나 에러값을 반환하세요. 하고 싶은대로 하세여
    • 영감이 필요하십니까? 표준 컨테이너가 어떻게 동작하는지 분석해보세요.
  • 물론 모든 상황에서 잘 동작한다는 것을 보여줄 테스트도 준비해야합니다. 

You don’t have to handle associative containers.

 

 

 


ex01

 

정수 N의 최대를 저장할 수 있는 Span 클래스를 만드세요. 

N은 unsigned int 값이고 생성자에 전달되는 단 하나의 인자입니다. 

 

  • 이 클래스는 addNumber()이라는 멤버 함수를 가질겁니다. 
    • 이 함수는 Span에 숫자 하나를 추가합니다. 
    • 이건 채우고자할 때 쓰일거에요.
    • 이미 N개의 요소가 차있는데 새 요소를 추가하려고 한다면 예외를 던지세요.
  • 다음으로 shorttestSpan() 과 longestSpan() 이라는 멤버함수를 구현하세요.

 


lastlastlastlastlastlast exercise of CPP subject

 

std::stack은 iterable을 지원하지 않는 stl 컨테이너 중 하나 입니다. 

이걸 고쳐서 iterable 한 stack을 만드세요

 

Stack을 상속받는 MutantStack이라는 클래스를 만드세요. stack의 모든 멤버함수를 제공받을겁니다. 그리고 iterator를 추가하세요.

 

 

역시 당연하게도 모든 바른 동작을 보여줄 수 있는 test가 있어야 합니다. 

 


# <stack>

 

https://cplusplus.com/reference/stack/stack/

 

 

 

 

 

 

 

'42seoul > circle-4' 카테고리의 다른 글

[ CPP07 ] 0. 과제이해하기  (0) 2022.08.06
[ CPP06 ] 0. 과제이해하기  (0) 2022.08.06
[ CPP05 ] 0. 과제이해하기  (0) 2022.08.03
[ CPP04 ] 0. 과제이해하기  (0) 2022.08.02
[ CPP03 ] 0. 과제이해하기  (0) 2022.08.01

댓글