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

#include <iostream>

using namespace std;

 

class AbstractGate {

protected:

    bool x, y;

public:

    void set(bool x, bool y) {

        this->x=x;

        this->y=y;

    }

    virtual bool operation() = 0;

};

 

class ANDGate :public AbstractGate {

public:

    bool operation() {

        if (x == 1 && y == 1return true;

        else return false;

    }

};

 

class ORGate :public AbstractGate {

public:

    bool operation() {

        if (x == 1 || y == 1return true;

        else return false;

    }

};

 

class XORGate :public AbstractGate {

public:

    bool operation() {

        if (x != y) return true;

        else return false;

    }

};

 

int main() {

    ANDGate andGate;

    ORGate orGate;

    XORGate xorGate;

 

 

    andGate.set(truefalse);

    orGate.set(truefalse);

    xorGate.set(truefalse);

    cout.setf(ios::boolalpha);

    

    cout << andGate.operation() << endl;

    cout << orGate.operation() << endl;

    cout << xorGate.operation() << endl;

}

Colored by Color Scripter

cs

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

명품 c++ 9장 실습문제 7번  (0) 2019.06.14
명품 c++ 9장 실습문제 6번  (0) 2019.06.14
명품 c++ 9장 실습문제 3,4 번  (0) 2019.06.14
명품 c++ 9장 실습문제 1,2 번  (0) 2019.06.14
명품 c++ 8장 실습문제 7번  (0) 2019.06.10

+ Recent posts