consolidate all repos to one for archive
This commit is contained in:
30
semester_2/programiranje_2/primeri/Example23/Stack.h
Normal file
30
semester_2/programiranje_2/primeri/Example23/Stack.h
Normal file
@@ -0,0 +1,30 @@
|
||||
#ifndef EXAMPLE23_STACK_H
|
||||
#define EXAMPLE23_STACK_H
|
||||
|
||||
template <typename T>
|
||||
class Stack {
|
||||
public:
|
||||
int top;
|
||||
T arr[10];
|
||||
|
||||
Stack() : top(-1) {
|
||||
}
|
||||
void push(T value) {
|
||||
arr[++top] = value;
|
||||
}
|
||||
T pop() {
|
||||
return arr[top--];
|
||||
}
|
||||
/*
|
||||
template <typename T1> // member template
|
||||
Stack<T>& operator= (Stack<T1>& stack) {
|
||||
for (int i = 0; i <= stack.top; i++) {
|
||||
arr[i] = stack.arr[i];
|
||||
}
|
||||
top=stack.top;
|
||||
return *this;
|
||||
}
|
||||
*/
|
||||
};
|
||||
|
||||
#endif //EXAMPLE23_STACK_H
|
15
semester_2/programiranje_2/primeri/Example23/main.cpp
Normal file
15
semester_2/programiranje_2/primeri/Example23/main.cpp
Normal file
@@ -0,0 +1,15 @@
|
||||
#include <iostream>
|
||||
#include "Stack.h"
|
||||
|
||||
int main() {
|
||||
Stack<int> s1,s2;
|
||||
Stack<float> s3;
|
||||
s2.push(2);
|
||||
s2.push(3);
|
||||
s2.push(4);
|
||||
s1 = s2; // OK
|
||||
std::cout << s1.pop() << " " << s1.pop() << std::endl;
|
||||
//s3 = s2; // ERROR without member templates
|
||||
//std::cout << s3.pop() << " " << s3.pop() << std::endl;
|
||||
return 0;
|
||||
}
|
Reference in New Issue
Block a user