CS35 Stack Wrapper for STL Stack

stlStack.h
#pragma once
/* Copyright (c) 2018
   Swarthmore College Computer Science Department, Swarthmore PA
   A. Danner, M. Gagne, J. Brody, Z. Palmer, A. Soni, L. Meeden
   Distributed as course material for Spring 2018
   CPSC 035: Data Structures and Algorithms
 */

#include <stack>
#include <stdexcept>

#include <cs35/stack.h>

using std::runtime_error;
using std::stack;

template <typename T>
class STLStack : public Stack<T> {
public:
    void push(T item);
    T pop();
    int getSize();
    bool isEmpty();
    T getTop();
private:
    stack<T> actualStack;
};

template <typename T>
void STLStack<T>::push(T item) {
    actualStack.push(item);
}

template <typename T>
T STLStack<T>::pop() {
    if (actualStack.empty()) {
        throw runtime_error("pop: empty stack");
    }
    T value = actualStack.top();
    actualStack.pop();
    return value;
}

template <typename T>
int STLStack<T>::getSize() {
    return actualStack.size();
}

template <typename T>
bool STLStack<T>::isEmpty() {
    return actualStack.empty();
}

template <typename T>
T STLStack<T>::getTop() {
    if (actualStack.empty()) {
        throw runtime_error("getTop: empty stack");
    }
    return actualStack.top();
}