Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- // Абстрактен клас за преобразуване на температури
- class TemperatureConverter {
- protected:
- double fahrenheit; // Температура по Фаренхайт
- public:
- // Конструктор с параметри
- TemperatureConverter(double f) : fahrenheit(f) {}
- // Чисто виртуална функция за преобразуване
- virtual double toCelsius() const = 0;
- // Виртуален деструктор
- virtual ~TemperatureConverter() {}
- };
- // Клас за преобразуване от Фаренхайт в Целзий
- class FahrenheitToCelsius : public TemperatureConverter {
- public:
- // Конструктор с параметри, използващ конструктора на базовия клас
- FahrenheitToCelsius(double f) : TemperatureConverter(f) {}
- // Реализация на преобразуването
- double toCelsius() const override {
- return (5.0 / 9.0) * (fahrenheit - 32);
- }
- // Функция за извеждане на резултата
- void displayConversion() const {
- cout << "Fahrenheit: " << fahrenheit
- << " -> Celsius: " << toCelsius() << endl;
- }
- };
- // Главна функция
- int main() {
- // Демонстрация с няколко температури
- FahrenheitToCelsius temp1(32); // 32°F
- FahrenheitToCelsius temp2(100); // 100°F
- FahrenheitToCelsius temp3(-40); // -40°F
- cout << "Temperature Conversions:" << endl;
- temp1.displayConversion();
- temp2.displayConversion();
- temp3.displayConversion();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement