我的程序:
class test
{
int k;
public:
void changeval(int i){k=i;}
};
int main()
{
test obj;
int i;
cin>>i;
obj.changeval(i);
return 0;
}
有什么方法可以直接将用户的输入作为参数传递给函数changeval(int),甚至无需将值初始化为i?
我的意思是,我不想声明变量只是为了将值传递给函数。我有什么办法可以避免它吗?如果是,我也可以将它用于构造函数吗?谢谢。
没有。现在,您可以将其放入函数中:
int readInt(std::istream& stream)
{
int i;
stream >> i; // Cross your fingers this doesn't fail
return i;
}
// Then in your code:
obj.changeval(readInt(std::cin));
但当然,这仍然会造成int
(它只是将其移动到readInt
功能)。
事实上,你have为创建一些对象/内存空间int
住在里面,这样你就可以阅读它并通过它。您执行此操作的位置可以更改。但简单地回答你的问题:不。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)