gpt4 book ai didi

c++ - 需要代码帮助,以便它返回并显示 "Menu"

转载 作者:行者123 更新时间:2023-11-30 05:44:10 24 4
gpt4 key购买 nike

我正在做一个小项目,使用变量和类:

http://pastebin.com/NpU6E4e5

当我使用默认构造函数更改变量时,它们的值不会改变。

water::water()
{
cout<<"What would you like to do?"<<endl;

cout<<"0. Get current stats of water"<<endl;
cout<<"1. Raise water temperature by certain degrees"<<endl;
cout<<"2. Decrease water temperature by certain degrees"<<endl;

cin >> do_what;
cout<<do_what;

switch(do_what)
{
case 0 :check_status();
break;
case 1 :heat_water();
break;
default:cout<<"Enter proper value!"<<endl;
//system("cls");
//water();
break;
}
}

这是默认构造函数。它无法更改在其主类 class water

中声明的变量值

最佳答案

在您的 main 函数中,您创建了一个名为 w1water 对象,这就是您正在使用的对象。当您在 THAT 对象上调用函数(例如 add_phadd_temp)并再次调用 water() 时,不会重建 w1 对象:您正在创建一个 water 对象,构造它然后立即销毁它。您可以通过在 water::waterwater::~water(分别是构造函数和析构函数)中放置一个断点来看到这一点。

如果您尝试修改原始的 water 对象 w1,您应该创建一个 Reset 函数,它将事物重置为您想要的想要(我假设是打印控制台内容并再次要求用户输入?)。

您可能还想尝试以下操作:

int main()
{
// create water object to work with
water w1;

char input = 'Q';
do
{
// Ask user for input
input = AskForInput();
ProcessInput(input, w1);
// Process input until the user wishes to quit
} while (input != 'Q')

return 0;
}

请注意,此答案基于链接的代码和您的原始问题。

关于c++ - 需要代码帮助,以便它返回并显示 "Menu",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29910519/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com