
	                	                 
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