
DsStack::peek 메서드는 스택이 비어있는 경우 예외를 발생시키는 것은 일반적인 구현입니다. 그러나 null을 반환하고 싶다면, 스택이 비어있는 경우 null을 반환하는 오버로딩 메서드를 추가할 수 있습니다.
#hostingforum.kr
cpp
class DsStack {
public:
// 기존 peek 메서드
T peek() {
if (isEmpty()) {
throw std::out_of_range("Stack is empty");
}
return topElement();
}
// 오버로딩 메서드 - 스택이 비어있는 경우 null을 반환
T peekOrNull() {
if (isEmpty()) {
return T(); // T는 스택에 저장할 데이터 타입
}
return topElement();
}
private:
// 스택이 비어있는지 확인하는 메서드
bool isEmpty() {
// 스택이 비어있는지 확인하는 로직
}
// 스택의 가장 위에 있는 데이터를 반환하는 메서드
T topElement() {
// 스택의 가장 위에 있는 데이터를 반환하는 로직
}
};
이러한 오버로딩 메서드를 사용하면 스택이 비어있는 경우 null을 반환할 수 있습니다.
2025-04-16 01:19