728x90
#include <iostream>
#include <string>
using namespace std;
class Converter {
protected:
    double ratio;
    virtual double convert(double srt) = 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 {
    string src, dest;
protected:
    string getSourceString() { return src; }
    string getDestString() { return dest; }
    double convert(double srt) { return  srt / Converter::ratio; }
public:
    WonToDollar(double ratio) : Converter(ratio) {
        src = "원"; dest = "달러";
    }

};
int main() {
    cout << "2018305065 전유정" << endl << endl;

    WonToDollar wd(1010); // 1 달러에 1010원
    wd.run();
}

반응형

'전공 공부 > C++' 카테고리의 다른 글

LoopAdder 클래스 상속  (0) 2021.06.16
클래스 KmToMile  (0) 2021.06.16
클래스 Shape 가상 함수  (0) 2021.06.16
클래스 BaseArray (상속)  (0) 2021.06.16
클래스 Calculator (다중 상속)  (0) 2021.06.07
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기