类函数返回到另一个类函数返回打印不同的值

Class function return goes to another class function return print different value

本文关键字:类函数 返回 打印 另一个      更新时间:2023-10-16
#include <iostream>
class Bender
{
private:
int y;
public:
void setY(double f)
{ y = f; }
int getY() const
{ return y; }
};
class Bending
{
private:
Bender temp;
public:
int getTemp() const
{ return temp.getY();}
};
class Rodriguez
{
private:
Bending testing;
public:
int getTesting() const
{return testing.getTemp();}
};
int main()
{
Bender B;
Bending Bend;
Rodriguez R;
B.setY(4);
std::cout<<B.getY()<<std::endl;
std::cout<<Bend.getTemp()<<std::endl;
std::cout<<R.getTesting()<<std::endl;
return 0;
}

因此,当我尝试运行它时,它会打印 4、-272632440、0(一些垃圾数(,我试图弄清楚它,但我找不到答案。似乎返回值无法设置为另一个返回类返回值

出现此问题的原因是您使用BendR但从未实例化它们。

似乎返回值不能设置为另一个返回类返回值

实际上,你可以。 您获得"垃圾"数字的原因是您尝试访问尚未设置的变量。 C++中,变量默认不设置为 0。当您声明一个变量时,您只是在内存中保留一个空间,如果您不覆盖它,该空间中可能仍有某些内容。
但我认为这里的主要问题是你不了解类和类的实例之间的区别。弯曲器B与弯曲类中的弯曲器温度不同,它们是两个不同的对象。