• Skip to primary navigation
  • Skip to content
  • Skip to primary sidebar
  • Skip to secondary sidebar

GoHired

Interview Questions asked in Google, Microsoft, Amazon

Join WeekEnd Online Batch from 4-April-2020 on How to Crack Coding Interview in Just 10 Weeks : Fees just 20,000 INR

  • Home
  • Best Java Books
  • Algorithm
  • Internship
  • Certificates
  • About Us
  • Contact Us
  • Privacy Policy
  • Array
  • Stack
  • Queue
  • LinkedList
  • DP
  • Strings
  • Tree
  • Mathametical
  • Puzzles
  • Graph

Generic Object Oriented Stack with Template

April 27, 2015 by Dhaval Dave

Here We have implemented a Generic Stack Example with Templates in C++ where we can Push any element into stack.

#include <iostream>
#include <vector>
#include <cstdlib>
#include <string>
#include <stdexcept>
using namespace std;

template <class T>
class Stack { 
  private: 
  vector<T> element; // elements
public: 
  void push(T const&); // push element 
  void pop(); // pop element 
  T top() const; // return top element 
  bool empty() const{ // return true if empty.
  return element.empty(); 
  } 
};
template <class T> void Stack<T>::push (T const& item) { 
 element.push_back(item); 
}
template <class T>
void Stack<T>::pop () { 
  if (element.empty()) { 
  throw out_of_range("Stack<>::pop(): empty stack"); 
  }
 element.pop_back(); 
}
template <class T> T Stack<T>::top () const 
{ 
  if (element.empty()) { 
  throw out_of_range("Stack<>::top(): empty stack"); 
  }
 return element.back(); 
}
int main() 
{ 
 try { 
  Stack<int> myIntegerStack; // stack of ints 
  Stack<string> myStringStack; // stack of strings
  myIntegerStack.push(10); 
       cout << myIntegerStack.top() <<endl;

myStringStack.push(“Messi”);
cout << myStringStack.top() << std::endl;
}
catch (exception const& ex) {
cerr << “Exception: ” << ex.what() <<endl;
return -1;
}
}
See Working Code at http://ideone.com/8sfDfC

Similar Articles

Filed Under: Adobe Interview Questions, Flipkart Interview Questions, Interview Questions, problem Tagged With: Stack

Reader Interactions

Primary Sidebar

Join WeekEnd Online/Offline Batch from 4-April-2020 on How to Crack Coding Interview in Just 10 Weeks : Fees just 20,000 INR

Join WeekEnd Online/Offline Batch from 4-April-2020

WhatsApp us

Secondary Sidebar

Custom Search

  • How I cracked AMAZON
  • LeetCode
  • Adobe
  • Amazon
  • Facebook
  • Microsoft
  • Hacker Earth
  • CSE Interview

Top Rated Questions

Python Dictionaries

Leetcode: Edit Distance

Printing Longest Common Subsequence

Given a float number convert it into the string WITHOUT using any inbuilt Function

Difference between a LinkedList and a Binary Search Tree BST

Maximum occurred Smallest integer in n ranges

Find min element in Sorted Rotated Array (Without Duplicates)

DFS (Depth First Search)

Doubly linked list

Find the smallest window in a string containing all characters of another string

Find the element that appears once others appears thrice

Python Array String

Given Set of words or A String find whether chain is possible from these words or not

There are N nuts and N bolts, u have to find all the pairs of nuts and bolts in minimum no. of iteration

Knight Tour Problem (Graph – Breadth First Search)

Circular Linked List

Closed Parentheses checker

BFS (Breath First Search)

Length of the longest substring without repeating characters

Sequence Finder Dynamic Programming

Maximum difference between two elements s.t larger element appears after the smaller number

N teams are participating. each team plays twice with all other teams. Some of them will go to the semi final. Find Minimum and Maximum number of matches that a team has to win to qualify for finals ?

Get Minimum element in O(1) from input numbers or Stack

SAP Hiring Off-Campus General Aptitude

Python List

Find next greater number with same set of digits

Walmart Labs Interview Experience

In Given LinkedList Divide LL in N Sub parts and delete first K nodes of each part

Maximum path sum between two leaves

Add Sub Multiply very large number stored as string

Copyright © 2025 · Genesis Framework · WordPress · Log in