天天看点

c++ 函数指针作为返回值,链式编程

作为一名刚转入c++行列的程序员,不知道这样写合理不合理,主要是为了熟练函数指针。
           
#include <stdio.h>
#include <tchar.h>
#include <string>
#include <iostream>

using namespace std;

void haveBreakfast(string food)//吃早饭
{
	cout << "开始吃早饭,吃了" 
		 << food << endl;
}
void (* brush())(string food)//刷牙
{
	cout << "刷牙" << "\n↓" << endl;
	return haveBreakfast;
}
void (* (* getUp())())(string food)//起床
{
	cout << "起床" << "\n↓" << endl;
	return brush;
}
void ( * (* (* openEyes(string person))())())(string food)//睁开眼
{
	cout << person << "\n↓\n" << "睁开眼" << "\n↓" << endl;
	return  getUp;
}

int _tmain(int argc, _TCHAR* argv[])
{
	openEyes("张小明")()()("鸡蛋");

	getchar();
	return 0;
}
           

继续阅读