문제
5. BaseArray를 상속받아 큐처럼 작동하는 MyQueue 클래스를 작성하라. MyQueue를 활용하는 사례는 다음과 같다.
코드
#include <iostream>
#include <string>
using namespace std;
class BaseArray {
int capacity;
int *mem;
protected :
BaseArray(int capacity=100) {
this->capacity = capacity; mem = new int [capacity];
}
~BaseArray() { delete [] mem; }
void put(int index, int val) { mem[index] = val; }
int get(int index) { return mem[index]; }
int getCapacity() { return capacity; }
};
class MyQueue : public BaseArray {
int enindex;
int deindex;
public :
MyQueue(int size) : BaseArray(size){ enindex=0; deindex=-1; }
void enqueue(int n){ put( enindex, n);
enindex++; }
int capacity() { return getCapacity(); }
int length() { return enindex; }
int dequeue() { enindex--;
deindex++; return get(deindex); }
};
int main() {
MyQueue mQ(100);
int n;
cout << "큐에 삽입할 5개의 정수를 입력하라>> ";
for(int i=0; i<5; i++) {
cin >> n;
mQ.enqueue(n);
}
cout << "큐의 용량:" << mQ.capacity() << ", 큐의 크기:" << mQ.length() << endl;
cout << "큐의 원소를 순서대로 제거하여 출력한다>> ";
while(mQ.length() != 0 ) {
cout << mQ.dequeue() << ' ';
}
cout << endl << "큐의 현재 크기 : " << mQ.length() << endl;
}
'programming > 명품 C++ programming' 카테고리의 다른 글
명품 C++ programming 실습 문제 2장 1번 (0) | 2021.11.29 |
---|---|
명품 C++ programming 실습 문제 8장 6번 (0) | 2021.05.18 |
명품 C++ programming 실습 문제 8장 4번 (0) | 2020.08.22 |
명품 C++ programming 실습 문제 8장 3번 (0) | 2020.08.17 |
명품 C++ programming 실습 문제 8장 2번 (0) | 2020.08.17 |
댓글