CSE 143, Summer 2000 Midterm 2 Programming Problem (No. 16), Sample Solution A. const int CARDSTACK_INITIAL_CAPACITY = 52; cardStack::cardStack() { size = 0; capacity = CARDSTACK_INITIAL_CAPACITY; stackTop = -1; // stores index of top element; -1 if stack empty elements = new Card[capacity]; assert(elements); } B. bool cardStack::push(const Card &thisCard) { if (size == capacity) { // allocate new, bigger array and copy old one into it capacity = capacity * 2; Card *newElements = new Card[capacity]; if (newElements == NULL) { return false; } for (int i = 0; i < size; i++) { newElements[i] = elements[i]; } delete [] elements; elements = newElements; } size++; stackTop++; elements[stackTop] = thisCard; return true; }