我尝试从名为Tt1
的类中使用变量ÌnletConditions
从另一个具有对象Tt0
的类中实例化变量ein_in
。
double InletConditions::Tt1 = ein_in.Tt0;
变量Tt1
在类public static double
的标头文件中声明为InletConditions
。
class InletConditions {
public:
static double Tt1;
}
变量Tt0
被声明并实例化如下:
\\ file Eingabe_Konstanten.h
class Eingabe_Konstanten {
public:
static double Tt0;
}
\\ file Eingabe_Konstanten.cpp
double Eingabe_Konstanten::Tt0 = io_ein.read(1);
io_ein.read(int)是指一个方法,它从文件中读取指定行号(int)的值。该值应为293.15。
如何实现Tt1
的值也变为293.15?在输出中它只是0。
int main() {
Eingabe_Konstanten ein;
InletConditions in;
std::cout << ein.Tt0 << endl;
std::cout << in.Tt1 << endl;
}
输出:
293.15
0
如果有人能帮助我,我会很高兴,因为我是编程新手并且不知道这个问题与哪个主题相关。
提前致谢。
答案 0 :(得分:2)
静态变量引用类本身,而不是该类的特定对象。因此,您必须使用类的范围解析运算符来调用它们:
InletConditions::Tt1 = Eingabe::Tt0;
std::cout << Eingabe::Tt0 << endl;
std::cout << InletConditions::Tt1 << endl;
答案 1 :(得分:0)
为什么不使用:
int main() {
Eingabe_Konstanten ein;
InletConditions in;
in.Tt1 = ein.Tt0; //You need to assign the value of ein.Tt0 to in.Tt1 here
std::cout << ein.Tt0 << endl;
std::cout << in.Tt1 << endl;
}