#include <iostream>
#include <string>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
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(int n) : Converter(n){}
double convert(double src){
double re= src/1.609344;
return re;
}
string getSourceString(){
return "Km";
}
string getDestString(){
return "Mile";
}
};
int main(int argc, char** argv) {
KmToMile toMile(1.609344);
toMile.run();
return 0;
}