20151:补足程序1

描述

补足程序,使得下面程序输出的结果是:

****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

Code: 

#include <iostream>
#include <string>
using namespace std;
// 在此处补充你的代码

ostream& operator<<(ostream &o, string (*s)()) {
    o << s();
    return o;
}

ostream& operator<<(ostream &o, int(*s)()) {
    o << s();
    return o;
}

string Print1() 
{
	return "****";	
}
int Print2() 
{
	return 100;	
}

int main()
{
    // cout << Print1 << endl;
    // cout << Print2 << endl;
	cout << Print1 << Print2 << endl; 
	return 0;
}

  

分析:

看题知道cout的是函数名,而只有输出“函数名()”才能得到与样例输出一样的结构,所以要重载”<<”,让cout输出函数指针。

永远渴望,大智若愚(stay hungry, stay foolish)
原文地址:https://www.cnblogs.com/h-hkai/p/10213595.html