#include <vector>
#include <stdexcept>
#include<string>
template <typename T1, typename T2>
class Pair {
private:
T1 first;
T2 second;
public:
Pair(const T1& f, const T2& s) : first(f), second(s) {}
T1 getFirst() const { return first; }
T2 getSecond() const { return second; }
void setFirst(const T1& f) { first = f; }
void setSecond(const T2& s) { second = s; }
};
int pairTest() {
Pair<int, std::string> p1(1,"str");
return 0;
}
template <typename T>
class Stack {
private:
std::vector<T> elements;
public:
void push(const T& element) {
elements.push_back(element);
}
};
void StackTest()
{
Stack<int> stack1;
Stack<std::string> stack2;
}
int main()
{
pairTest();
StackTest();
getchar();
}