当我在c ++中运行bool类型的方法时,返回语句如下:
bool method() {
return true;
}
控制台没有输出。要获得输出,我必须这样做:
bool method() {
cout << "true";
return true;
}
这是正确的方法吗?
答案 0 :(得分:6)
该程序已成功编译并执行,输出值为true的值。
#include <iostream>
bool method() {
return true;
}
int main()
{
std::cout << method() << std::endl;
}
如果你想要而不是1,那么你可以写
#include <iostream>
#include <iomanip>
bool method() {
return true;
}
int main()
{
std::cout << std::boolalpha << method() << std::endl;
}
问题可能还在于你的程序在执行后会关闭窗口并且你没有时间看到结果。你应该在程序的最后插入一些输入语句,它会等到你输入内容。
答案 1 :(得分:3)
C ++不是一种解释语言,就像python一样,它是一种编译语言。因此,您不要在解释器上编写函数调用,并打印结果。
您正在编译程序并在以后执行它。因此,如果您需要在程序中向控制台输出内容,则必须编写一条指令(如std::cout <<
那样)。
答案 2 :(得分:1)
将程序的逻辑与输入/输出部分分开通常是个好主意。这样,您可以更改逻辑而无需更改显示,反之亦然。
这可能是一个例子(我已经使它变得不那么简单了):
int operation(int a, int b) {
return a + b;
}
void process() {
int a, b;
std::cin >> a >> b;
std::cout << operation(a, b);
}
即使在直接打印已执行函数输出的语言中也应如此(但在示例程序中通常不是为了“简单”)。在设计更大的系统时,它会产生巨大的差异。
您可以通过Google搜索“模型 - 视图 - 控制器”或简单地“将逻辑与IO分离”来了解更多信息。
为了得到你的特定例子,你创造了一个独特的“逻辑”功能,那就是一件好事。你可以在里面添加打印声明,但通常再次分离关注点会更好。
答案 3 :(得分:0)
如果想打印“真/假”,您可以采用这种方法。 仅当您声明没有任何访问说明符的函数时才有效。
bool method() {
cout<<std::boolalpha;
return true;}
bool method() {
cout<<std::boolalpha
cout << "true";
return true;}