Question: Your task in this homework assignment is write two derived class. The base class of `Temperature` has been provided with an example derived class of

Your task in this homework assignment is write two derived class.

The base class of `Temperature` has been provided with an example derived class of `Kelvin`.

In this assignment, you will write a `Celsius` and `Fahrenheit` derived class from `Temperature`.

In C++ language:

## Solution Specifications

Your solution to this problem must meet the following criteria.

1. Write a `Celsius` and `Fahrenheit` classes that inherits from `Temperature`.

2. The classes should use encapsulation with both a header and cpp file.

3. Implement the functions to convert the temperature to `Celsius`, `Fahrenheit`, and `Kelvin` for each class.

Temperature.h file:

#ifndef TEMPERATURE_H

#define TEMPERATURE_H

class Temperature {

private:

double temperature;

public:

Temperature(double temperature) { this->temperature = temperature; };

double getTemperature() const { return temperature; };

virtual void printTemperature() const = 0;

// Conversions

virtual double getTemperatureInCelsius() const = 0;

virtual double getTemperatureInFahrenheit() const = 0;

virtual double getTemperatureInKelvin() const = 0;

};

#endif // TEMPERATURE_H

main.cpp file:

#include "Celsius.h"

#include "Fahrenheit.h"

#include "Kelvin.h"

#include

using namespace std;

int main() {

Fahrenheit fTemp(98.6);

fTemp.printTemperature();

cout << "In Celsius: " << fTemp.getTemperatureInCelsius() << endl;

cout << "In Fahrenheit: " << fTemp.getTemperatureInFahrenheit() << endl;

cout << "In Kelvin: " << fTemp.getTemperatureInKelvin() << endl;

cout << endl;

Celsius cTemp(37);

cTemp.printTemperature();

cout << "In Celsius: " << cTemp.getTemperatureInCelsius() << endl;

cout << "In Fahrenheit: " << cTemp.getTemperatureInFahrenheit() << endl;

cout << "In Kelvin: " << cTemp.getTemperatureInKelvin() << endl;

cout << endl;

Kelvin kTemp(310.15);

kTemp.printTemperature();

cout << "In Celsius: " << kTemp.getTemperatureInCelsius() << endl;

cout << "In Fahrenheit: " << kTemp.getTemperatureInFahrenheit() << endl;

cout << "In Kelvin: " << kTemp.getTemperatureInKelvin() << endl;

cout << endl;

Fahrenheit fTemp2(32);

fTemp2.printTemperature();

cout << "In Celsius: " << fTemp2.getTemperatureInCelsius() << endl;

cout << "In Fahrenheit: " << fTemp2.getTemperatureInFahrenheit() << endl;

cout << "In Kelvin: " << fTemp2.getTemperatureInKelvin() << endl;

cout << endl;

Celsius cTemp2(100);

cTemp.printTemperature();

cout << "In Celsius: " << cTemp.getTemperatureInCelsius() << endl;

cout << "In Fahrenheit: " << cTemp.getTemperatureInFahrenheit() << endl;

cout << "In Kelvin: " << cTemp.getTemperatureInKelvin() << endl;

cout << endl;

Kelvin kTemp2(200);

kTemp.printTemperature();

cout << "In Celsius: " << kTemp.getTemperatureInCelsius() << endl;

cout << "In Fahrenheit: " << kTemp.getTemperatureInFahrenheit() << endl;

cout << "In Kelvin: " << kTemp.getTemperatureInKelvin() << endl;

cout << endl;

return 0;

}

Kelvin.h file:

#include "Temperature.h"

#ifndef KELVIN_H

#define KELVIN_H

class Kelvin : public Temperature {

public:

Kelvin(double temperature) : Temperature(temperature){};

void printTemperature() const;

// Conversions

double getTemperatureInCelsius() const;

double getTemperatureInFahrenheit() const;

double getTemperatureInKelvin() const;

};

Kelvin.cpp file:

#include "Kelvin.h"

#include

using namespace std;

void Kelvin::printTemperature() const {

cout << getTemperature() << " Kelvin" << endl;

}

double Kelvin::getTemperatureInCelsius() const { return getTemperature() - 273.15; }

double Kelvin::getTemperatureInFahrenheit() const {

return (getTemperatureInCelsius() * 9.0 / 5) + 32;

}

double Kelvin::getTemperatureInKelvin() const { return getTemperature(); }

Create Fahrenheit.h, fahrenheit.cpp, celsius.h, and celsius.cpp files to complete the code

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!