C++ 中温度类的类中的读取方法
Posted
技术标签:
【中文标题】C++ 中温度类的类中的读取方法【英文标题】:Read method in classes for Temperature Class in c++ 【发布时间】:2014-04-13 19:19:50 【问题描述】:我正在尝试使用读取方法来读取温度值和华氏度或摄氏度的字符。我在我的编程书中找不到关于 read 方法的任何内容。我还必须在我的主程序中更改我的 for 循环以循环一系列值,但这也不起作用。这是我的代码:
#include <iostream>
using namespace std;
// Interface for Temperature class
class Temperature
public:
Temperature();
Temperature(const Temperature & Temp);
~Temperature();
double getCelsius() const;
double getFahrenheit() const;
void setCelsius(double Temp);
void setFahrenheit(double Temp);
void print();
void read();
private:
static const double ABSOLUTE_ZERO = -273.15;
double CelsiusTemperature;
;
// Implementation of Temperature class
void Temperature::print()
cout << getFahrenheit() << "F = " << getCelsius() << "C\n";
void Temperature::read()
double num;
char C;
cin >> num >> C;
cin >> num >> C;
if (C != 'F' || C != 'f' || C != 'C' || C != 'c')
cout << " ";
Temperature::Temperature()
CelsiusTemperature = 0;
Temperature::Temperature(const Temperature & Temp)
CelsiusTemperature = Temp.CelsiusTemperature;
Temperature::~Temperature()
double Temperature::getCelsius() const
return CelsiusTemperature;
double Temperature::getFahrenheit() const
return 9.0 * CelsiusTemperature / 5.0 + 32.0;
void Temperature::setCelsius(double Temp)
CelsiusTemperature = Temp;
if (CelsiusTemperature < ABSOLUTE_ZERO)
CelsiusTemperature = ABSOLUTE_ZERO;
void Temperature::setFahrenheit(double Temp)
CelsiusTemperature = (Temp - 32.0) * 5.0 / 9.0 ;
if (CelsiusTemperature < ABSOLUTE_ZERO)
CelsiusTemperature = ABSOLUTE_ZERO;
// Program to test Temperature class
int main()
Temperature Start;
Temperature End;
Temperature Temp;
cout << "Enter start temperature: ";
Temp.read();
cout << "Enter end temperature: ";
Temp.read();
cout.precision(3);
for (F = Start; F <= End; F++)
Temperature Temp;
Temp.setFahrenheit(F);
Temp.print();
return 0;
【问题讨论】:
【参考方案1】:有几点:
你没有初始化Start
或End
您的read
函数未设置CelsiusTemperature
你没有声明变量F
您使用相同的 Temp
变量来读取开始和结束温度
您没有为Temperature
类定义任何特定的比较运算符,也没有任何转换运算符将其转换为整数/浮点值,您也没有采用非@ 值的非显式构造函数987654328@
【讨论】:
我应该如何初始化 Start 和 End?以上是关于C++ 中温度类的类中的读取方法的主要内容,如果未能解决你的问题,请参考以下文章
从 .NET Core 2 中的类中读取 appsettings.json
如何在启动类中读取应用程序 URL,特别是在 .net core 3.1 中的“ConfigureService”方法中?