Я написал реализацию Stack и Queue (основанный на Linked List). Существует один стек (bigStack). Например, я разделяю bigStack (пример: stackA и stackB). я pop() a node от bigStack, я push() в stackA. Точно так же я push() в stackB. Я хочу, чтобы bigStack не изменился. Поэтому я хочу клонировать объект bigStack. Как клонировать объекты на С++? Или есть другое решение моей проблемы?
class Stack : public List {
public:
Stack() {}
Stack(const Stack& rhs) {}
Stack& operator=(const Stack& rhs) {};
~Stack() {}
int Top() {
if (head == NULL) {
cout << "Error: The stack is empty." << endl;
return -1;
} else {
return head->nosu;
}
}
void Push(int nosu, string adi, string soyadi, string bolumu) {
InsertNode(0, nosu, adi, soyadi, bolumu);
}
int Pop() {
if (head == NULL) {
cout << "Error: The stack is empty." << endl;
return -1;
} else {
int val = head->nosu;
DeleteNode(val);
return val;
}
}
void DisplayStack(void);
};
то...
Stack copyStack = veriYapilariDersi;
copyStack.DisplayStack();