Advertisement
vallec

ЦелзииФаренхайт

Dec 15th, 2024
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.72 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. // Абстрактен клас за преобразуване на температури
  5. class TemperatureConverter {
  6. protected:
  7.     double fahrenheit; // Температура по Фаренхайт
  8.  
  9. public:
  10.     // Конструктор с параметри
  11.     TemperatureConverter(double f) : fahrenheit(f) {}
  12.  
  13.     // Чисто виртуална функция за преобразуване
  14.     virtual double toCelsius() const = 0;
  15.  
  16.     // Виртуален деструктор
  17.     virtual ~TemperatureConverter() {}
  18. };
  19.  
  20. // Клас за преобразуване от Фаренхайт в Целзий
  21. class FahrenheitToCelsius : public TemperatureConverter {
  22. public:
  23.     // Конструктор с параметри, използващ конструктора на базовия клас
  24.     FahrenheitToCelsius(double f) : TemperatureConverter(f) {}
  25.  
  26.     // Реализация на преобразуването
  27.     double toCelsius() const override {
  28.         return (5.0 / 9.0) * (fahrenheit - 32);
  29.     }
  30.  
  31.     // Функция за извеждане на резултата
  32.     void displayConversion() const {
  33.         cout << "Fahrenheit: " << fahrenheit
  34.              << " -> Celsius: " << toCelsius() << endl;
  35.     }
  36. };
  37.  
  38. // Главна функция
  39. int main() {
  40.     // Демонстрация с няколко температури
  41.     FahrenheitToCelsius temp1(32);  // 32°F
  42.     FahrenheitToCelsius temp2(100); // 100°F
  43.     FahrenheitToCelsius temp3(-40); // -40°F
  44.  
  45.     cout << "Temperature Conversions:" << endl;
  46.     temp1.displayConversion();
  47.     temp2.displayConversion();
  48.     temp3.displayConversion();
  49.  
  50.     return 0;
  51. }
  52.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement