문제:

다음은 단위를 변환하는 추상 클래스 Converter이다.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #include using namespace std; class Converter { protected: double ratio; virtual double convert(double src)=0; // src를 다른 단위로 변환한다. virtual string getSourceString()=0; // src 단위 명칭 virtual string getDestString()=0; // dest 단위 명칭 public: Converter(double ratio) { this->ratio = ratio; } void run(){ double src; cout « getSourceString() « “을 " « getDestString() « “로 바꿉니다. “; cout « getSourceString() « “을 입력하세요» “; cin » src; cout « “변환 결과 : " « convert(src) « getDestString() « endl; } }; Colored by Color Scripter

Converter 클래스를 상속받아 달러를 원화로 환산하는 WonToDollar 클래스를 작성하라. main() 함수와 실행 결과는 다음과 같다.

1 2 3 4 int main() { WonToDollar wd(1010); // 1달러에 1010원 wd.run(); } Colored by Color Scripter

목적 및 힌트:

추상 클래스를 상속받는 파생 클래스 만들기

코드 :

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 #include using namespace std; class Converter { protected: double ratio; virtual double convert(double src)=0; // src를 다른 단위로 변환한다. virtual string getSourceString()=0; // src 단위 명칭 virtual string getDestString()=0; // dest 단위 명칭 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 { // Converter class 상속 int won; public: WonToDollar(int won) : Converter(won) { this->won = won; } // 매개변수가 있는 Converter 생성자 호출 double convert(double src){ return src/won; } virtual string getSourceString(){ return “원”; } virtual string getDestString(){ return “달러”; } }; int main() { WonToDollar wd(1010); // 1달러에 1010원 wd.run(); }

공유하기

게시글 관리

코딩은 내일부터 ;

저작자표시 (새창열림)

💻 개발 & CS > C++ 프로그래밍’ 카테고리의 다른 글

명품 C++ programming 실습 문제 9장 6번  (1) 2019.11.21
명품 C++ programming 실습 문제 9장 5번  (2) 2019.11.21
명품 C++ programming 실습 문제 9장 4번  (3) 2019.11.21
명품 C++ programming 실습 문제 9장 3번  (2) 2019.11.21
명품 C++ programming 실습 문제 9장 2번  (2) 2019.11.20