Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Example program
- #include <iostream>
- #include <string>
- #include <vector>
- #include <exception>
- #include <stdexcept>
- template <typename T>
- class Stack {
- public:
- T pop() {
- if (size() == 0) {
- throw std::runtime_error("Stack is empty");
- }
- auto result = data.back();
- data.erase(data.end() - 1);
- return result;
- }
- void push(const T& value) {
- data.emplace_back(value);
- }
- std::size_t size() const {
- return data.size();
- }
- private:
- std::vector<T> data;
- };
- int main()
- {
- Stack<int> stack;
- std::cout << stack.size() << std::endl;
- stack.push(10);
- stack.push(20);
- try {
- std::cout << stack.size() << std::endl;
- std::cout << stack.pop() << std::endl;
- std::cout << stack.pop() << std::endl;
- std::cout << stack.pop() << std::endl;
- } catch (std::exception &e) {
- std::cout << e.what() << std::endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement