레포트샵

fileicon[[C++/자료구조]] try-catch를 이용한 stack 프로그램

이전

  • icon

다음

  • 최대 100페이지까지 확대보기 서비스를 제공합니다.

> 레포트 > 공학계열 > 자료상세보기 (자료번호:182631)

구매가격
1,000원 할인쿠폰900원
등록/수정
2007.11.20 / 2007.11.21
파일형식
fileiconzip(압축파일) [무료뷰어다운]
페이지수
6페이지
자료평가
평가한 분이 없습니다.
등록자
lhil008
  • 다운로드
  • 장바구니 담기

닫기

이전큰이미지 다음큰이미지
  • 트위터
  • 페이스북
신규가입 200원 적립! + 10% 할인쿠폰 3장지급! banner구매자료를 평가하면 현금처럼 3%지급!

소개글

[[C++/자료구조]] try-catch를 이용한 stack 프로그램에 대한 자료입니다.

목차

Ⅰ. 프로그램 설계 구현에 관한 설명
1. 목적 프로그램
2. try-catch의 사용법 및 if-else문과의 비교
2. Stack의 pop, push 함수의 구현 방식
Ⅱ. 프로그램 소스
Ⅲ. 테스트 방법 및 실행결과
1. 테스트 데이터
2. 삽입 결과
3. 삭제 결과
Ⅳ. 느낀점 및 기타

본문내용

Ⅰ. 프로그램 설계 구현에 관한 설명
1. 목적 프로그램
Exception handling을 이용한 stack 프로그램을 구현한다. 스택 class는 pop, push 및 생성자, 파괴자를 제외한 어떠한 메소드도 사용하지 않는다.

2. try-catch의 사용법 및 if-else문과의 비교
스택을 구현하기 앞서 생각해야 할 점은 예외처리를 어떠한 방식으로 해줄 것인가이다. 스택의 정의에 의하면, 삽입되는 아이템은 스택의 상단으로만 들어가며, 주어진 공간을 모두 사용한 경우는 더 이상 삽입이 이루어지면 안된다. 또한 삭제를 수행할 때에도 삽입된 아이템이 없다면 삭제를 수행하면 안된다. 이러한 점은 스택의 상단부를 표시하는 변수 top의 현재위치를 이용한 예외처리로 해결할 수 있다.

이번 프로그램에서는 위와 같은 예외처리를 다른 함수를 이용하거나, if-else문을 이용하지 않고 해결해야 하는데, C++에서는 exception handling을 위한 try-catch를 제공하고 있다. try-catch는 그 결과에 있어서는 if-else문과 동일하지만, 동작에 있어서는 약간의 차이가 있다. 가장 큰 차이는 구문 수준에서 동작과 블록 수준에서의 동작이라고 할 수 있다. try와 같은 경우 지정된 에러가 발생하면 해당하는 블록을 종료하고 catch 블록으로 건너띄어 버린다. 그러나 if-else문의 경우는 구문만이 종료하므로 에러가 발생한 객체가 유지되어 그에 대한 참조가 발생하게 되는 문제를 발생시킨다. 하지만 try-catch의 경우는 블록 자체를 종료하므로 에러가 발생한 객체도 자연히 소멸하게 되는 것이다. 즉, try 블록 안에서 예외를 발생했을 수 있는 객체의 참조를 원천적으로 봉쇄하게 되어 결과적으로 if-else문에 비해 안전한 코드가 될 수 있는 것이다.

try-catch는 아래와 같은 방식으로 사용한다.
try {
//예외가 발생할 수 있는 구역
//만약에, 예외가 발생하면,
//catch 구역에 예외를 던져준다. throw 예외덩어리;
//예외를 던지고 나면, 그 밑에 코드는 실행하지 않고 뛰어넘는다.
}
catch(예외를 받아서) //던져진 예외덩어리랑 자료형이 같아야한다.
{
//예외가 발생했을 때에 대한 적절한 코딩을 해준다.
}
위에서 확인할 수 있듯이 예외를 던져주면, 그 아래의 코드는 실해되지 않고 블록이 종료된다는 점에서 if-else문 보다 안전성을 보장해줄 수 있는 것이다.

태그 try-catch, 스택, exception handling, 자료구조, 프로그램언어론

자료평가

아직 평가한 내용이 없습니다.

오늘 본 자료

  • 오늘 본 자료가 없습니다.
  • img

    저작권 관련 사항 정보 및 게시물 내용의 진실성에 대하여 레포트샵은 보증하지 아니하 며, 해당 정보 및 게시물의 저작권과 기타 법적 책임은 자료 등록자에게 있습니다. 위 정보 및 게시물 내용의 불법적 이용, 무단 전재·배포는 금지됩니다. 저작권침해, 명예훼손 등 분쟁요소 발견시 고객 센터에 신고해 주시기 바랍니다.