今天,我试图为一个物理项目创建一个名为计算器的类,顾名思义,我的类将进行计算。作为物理学程序,它需要微积分公式。并将使用参数化函数进行计算,并返回一个由double和测量单位组成的字符串,如下所示:177 J/Kg*K
现在,让我们解决问题:
所以我已经测试了我的函数,之后我决定将其纳入面向对象的编程中,因为这至少会使我的事情变得简单一些。 上完课后,我出现了一个错误,说
“类计算器”中的“字符串”未定义类型
代码如下:
Calculator.h
#ifndef CALCULATOR_H
#define CALCULATOR_H
#include <iostream>
using namespace std;
class Calculator{
private:
public:
Calculator();
string capCalorica(double cReceived, double varTemp);
string caldSpecifica(double cReceived, double varTemp, double mass);
};
#endif // CALCULATOR_H
Calculator.cpp
#include "Calculator.h"
#include <iostream>
#include <string>
#include <windows.h>
using namespace std;
Calculator::Calculator(){
cout<<"Calculus Module Initialized!"<<endl;
Sleep(2000);
system("cls");
}
Calculator::string capCalorica(double cReceived, double varTemp)){
stringstream sstr;
double result = cReceived/varTemp;
sstr<<result<<" J/Kg";
return sstr.str();
}
Calculator::string caldSpecific(double cReceived, double mass, double varTemp){
stringstream sstm;
double result = cReceived/(mass*varTemp);
sstm<<result<<" J/Kg*K";
return sstm.str();
}
无论我在哪里定义了字符串返回函数,该错误都在cpp文件中
答案 0 :(得分:1)
更改
Calculator::string capCalorica(double cReceived, double varTemp)){
...
}
到
std::string Calculator::capCalorica(double cReceived, double varTemp)){
...}
等
答案 1 :(得分:0)
您在头文件中的声明string capCalorica(double cReceived, double varTemp);
使用string
作为类型,但是目前尚不知道这种类型。您只是忘记了头文件中的#include<string>
。