函数指针的一种用法
-
总时间限制:
- 1000ms 内存限制:
- 65536kB
-
描述
-
补足程序,使得下面程序输出的结果是:
****100
-
#include <iostream> #include <string> using namespace std;
// 在此处补充你的代码
-
string Print1() { return "****"; } int Print2() { return 100; } int main() { cout << Print1 << Print2 << endl; return 0; }
输入
- 无 输出
- ****100 样例输入
-
无
样例输出
-
****100
-
看下这个题会发现cout 输出的只是函数的名字,没有带有();这种情况就只能重载<<输出流,
-
让cout<<可以输出函数指针这样才能用函数名字不带()来实现;
-
#include <iostream>
#include <string>
using namespace std;
ostream&operator<<(ostream& o, string(*op)()) //通过对<<流运算符的重载,对、、{ // 函数指针的输出就可能实现直
o << op(); //接使用函数名称而不用加括号来
return o; //调用函数来输出
}
ostream&operator<<(ostream& o, int(*op)())
{
o << op();
return o;
}
stringPrint1()
{
return "****";
}
int Print2()
{
return 100;
}
int main()
{
cout << Print1 <<Print2 << endl;
return 0;
}