1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

#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 rear;

    int front;

    int queue_counter;

public:

    MyQueue(int capacity = 100) : BaseArray(capacity) { this->rear = -1;this->front = -1;this->queue_counter = 0; }

    void enqueue(int val);

    int dequeue();

    int length();

    int capacity();

};

void MyQueue::enqueue(int val) {

    this->queue_counter++;

    this->rear++;

    this->put(this->rear, val);

}

int MyQueue::dequeue() {

    this->queue_counter--;

    this->front++;

    return this->get(this->front);

}

int MyQueue::length() {

    return this->queue_counter;

}

int MyQueue::capacity() {

    return this->getCapacity();

}

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;

}

 

Colored by Color Scripter

cs

'C++' 카테고리의 다른 글

명품 c++ 8장 실습문제 7번  (0) 2019.06.10
명품 c++ 8장 실습문제 6번  (0) 2019.06.10
명품 c++ 7장 실습문제 9번  (0) 2019.06.06
명품 c++ 7장 실습문제 8번  (0) 2019.06.06
명품 c++ 7장 실습문제 6번  (0) 2019.06.06

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

#include <iostream>

using namespace std;

 

class Circle {

    int radius;

public:

    Circle(int radius = 0) {

        this->radius = radius;

    }

    void show() { cout << "radius = " << radius << "인 원" << endl; }

    friend Circle operator+(int op, Circle op2);

};

Circle operator+(int op, Circle op2) {

    Circle tmp;

    tmp.radius = op + op2.radius;

    return tmp;

}

 

int main() {

    Circle a(5), b(4);

    b = 1 + a;

    a.show();

    b.show();

}

Colored by Color Scripter

cs

'C++' 카테고리의 다른 글

명품 c++ 8장 실습문제 6번  (0) 2019.06.10
명품 c++ 8장 실습문제 5번  (0) 2019.06.10
명품 c++ 7장 실습문제 8번  (0) 2019.06.06
명품 c++ 7장 실습문제 6번  (0) 2019.06.06
명품 c++ 7장 실습문제 5번  (0) 2019.06.06

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

#include <iostream>

using namespace std;

 

class Circle {

    int radius;

public:

    Circle(int radius = 0) { this->radius = radius; }

    void show() { cout << "radius = " << radius << " 인 원" << endl; }

    friend Circle& operator++(Circle& op1);

    friend Circle operator++(Circle op1, int x);

};

 

Circle& operator++(Circle& op1) {

    op1.radius++;

    return op1;

}

 

Circle operator++(Circle op1, int x) {        // 후위 연산자 구별 위해 int x

    Circle tmp = op1;

    op1.radius++;

    return tmp;

}

 

 

int main() {

    Circle a(5), b(4);

    ++a;

    b = a++;

    a.show();

    b.show();

}

Colored by Color Scripter

cs

'C++' 카테고리의 다른 글

명품 c++ 8장 실습문제 5번  (0) 2019.06.10
명품 c++ 7장 실습문제 9번  (0) 2019.06.06
명품 c++ 7장 실습문제 6번  (0) 2019.06.06
명품 c++ 7장 실습문제 5번  (0) 2019.06.06
명품 c++ 7장 실습문제 4번  (0) 2019.06.06

+ Recent posts