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

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

--실습 1번--

 

#include <iostream>

 

#include <string>

 

using namespace std;

 

class Converter {

 

protected:

 

    double ratio;

 

    virtual double convert(double src) = 0;

 

    virtual string getSourceString() = 0;

 

    virtual string getDestString() = 0;

 

public:

 

    Converter(double ratio) { this->ratio = ratio; }

 

    void run() {

 

        double src;

 

        cout << getSourceString() << "을 " << getDestString() << "로 바꿉니다. ";

 

        cout << getSourceString() << "을 입력하세요>> ";

 

        cin >> src;

 

        cout << "변환 결과: " << convert(src) << getDestString() << endl;

 

    }

 

};

 

class WonToDollar :public Converter {

 

protected:

 

    double convert(double src) {

 

        return src / ratio;

 

    }

 

    string getSourceString() {

 

        return "원";

 

    }

 

    string getDestString() {

 

        return "달러";

 

    }

 

public:

 

    WonToDollar(double ratio) : Converter(ratio) { ; }

 

};

 

int main() {

 

    WonToDollar wd(1010);

 

    wd.run();

 

}

 

--실습 2번--

 

#include <iostream>

 

#include <string>

 

using namespace std;

 

class Converter {

 

protected:

 

    double ratio;

 

    virtual double convert(double src) = 0;

 

    virtual string getSourceString() = 0;

 

    virtual string getDestString() = 0;

 

public:

 

    Converter(double ratio) { this->ratio = ratio; }

 

    void run() {

 

        double src;

 

        cout << getSourceString() << "을 " << getDestString() << "로 바꿉니다. ";

 

        cout << getSourceString() << "을 입력하세요>> ";

 

        cin >> src;

 

        cout << "변환 결과: " << convert(src) << getDestString() << endl;

 

    }

 

};

 

class KmToMile :public Converter {

 

public:

 

    KmToMile(double ratio) :Converter(ratio) { ; }

 

protected:

 

    double convert(double src) {

 

        return src / ratio;

 

    }

 

    string getSourceString() {

 

        return "Km";

 

    }

 

    string getDestString() {

 

        return "Mile";

 

    }

 

};

 

int main() {

 

    KmToMile toMile(1.609344);

 

    toMile.run();

 

}

Colored by Color Scripter

cs

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

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

+ Recent posts