在c++中为Temperature Class读取类中的方法
Read method in classes for Temperature Class in c++
我正在尝试使用读取方法来读取温度值和华氏度或摄氏度字符。我在编程书中找不到任何关于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() << "Cn";
}
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;
}
两件事:
- 您没有初始化
Start
或End
- 您的
read
函数未设置CelsiusTemperature
- 您没有声明变量
F
- 使用相同的
Temp
变量读取开始和结束温度 - 您没有为
Temperature
类定义任何特定的比较运算符,也没有将其强制转换为整数值/浮点值的任何强制转换运算符,您也没有采用非Temperature
值的非显式构造函数
相关文章:
- 一种在C++中读取TXT配置文件的简单方法
- 读取大文件(>2GB)(文本文件包含以太网数据)并通过不同参数随机访问数据的最佳方法是什么?
- C++11 原子<>:只能使用提供的方法读取/写入?
- 将多个效果与 libSox 链接并读取输出数据的正确方法
- 读取二进制文件的惯用C++17标准方法是什么
- 以C++读取文件并处理可能的错误的便携式方法
- 从包含 IP 标头片段的二进制文件中读取结构的最佳方法是什么
- 从 txt 文件中读取数据的最简单方法
- 组织从内存读取的数据的最佳方法(用于调试)c++
- 将大文件读取到字符数组的正确方法
- 在方法中引用我正在读取的流
- exc_bad_access(代码= 1,地址= 0x68)在第二个读取方法中
- 是否可以覆盖 std::istream 读取方法?
- C++ 如何使用相同的类和方法来读取/写入可变大小的数据
- 类方法读取同一变量C++的不同值
- 从 mfc 应用程序点击网络服务,并希望从网络服务登录方法读取用户代码返回
- 使用fstream方法读取二进制数据
- 最好的方法读取行和col的txt文件
- 用Settimer方法读取高速数据的问题
- 在openCV和c++中以给定的命名方法读取多个图像