我正在使用变量和类创建一个小项目:
当我使用默认构造函数更改变量时,它们的值不会更改。
git pull
这是默认构造函数。它无法更改在其主类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;
}
}
答案 0 :(得分:1)
在main
函数中,您可以创建一个名为water
的{{1}}对象,这是您正在使用的对象。当您在THAT对象上调用函数(例如w1
,add_ph
)并再次调用add_temp
时,不会重建water()
对象:您正在创建新 w1
对象,构建它然后立即被破坏。你可以通过在water
和water::water
(分别是构造函数和析构函数)中设置一个断点来看到这一点。
如果您尝试修改原始water::~water
对象water
,则应创建一个w1
函数,将某些内容重置为您想要的内容(我假设是打印出来的)控制台的东西,并再次要求用户输入?)。
您可能还想尝试以下内容:
Reset
请注意,此答案基于链接的代码和您的原始问题。