#include <iostream>
using std::cout;
using std::endl;
class convert {
protected:
double value;
public:
convert(double _value) { value = _value; }
double get_value() { return value; }
virtual double calc() = 0;
};
class fahrenheit_to_celsius : public convert {
public:
fahrenheit_to_celsius(double i) : convert(i) { }
double calc() { return (value - 32) / 1.8; }
};
int main()
{
convert *p;
fahrenheit_to_celsius ftoc(75);
p = &ftoc;
cout << p->get_value() << " fahrenheit = " << p->calc() << " celsius" << endl;
return 0;
}
/*
run:
75 fahrenheit = 23.8889 celsius
*/