1 Star 0 Fork 1

llongger/Code_C++

forked from GodOuO/Code_C++ 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
74.STL_Func.cpp 1.03 KB
一键复制 编辑 原始数据 按行查看 历史
GodOuO 提交于 2023-03-15 04:08 . Train
#include<iostream>
#include<string>
using namespace std;
//函数对象 (仿函数)
/*
函数对象使用时,有自己的参数 返回值
函数对象超出普通函数概念 可以有自己的状态
函数对象 可以作为参数传递
*/
class mAdd
{
private:
/* data */
public:
int operator()(int a,int b){
return a+b;
}
};
class mPrint
{
private:
int m_Count;
public:
void operator()(string test){
this->m_Count++;
cout<<test<<endl;
}
mPrint(){
this->m_Count = 0;
}
int getCount(){
return m_Count;
}
};
void test01(){
mAdd madd;
cout<<"10+10 = "<<madd(10,10)<<endl; //像普通函数的调用
}
void test02(){
mPrint mp;
for(int i = 0; i < 5;i++)
mp("Hello world");
cout<<"mPrint Running time : "<<mp.getCount()<<endl;
}
void doPrint(mPrint &mp,string test){
mp(test);
}
void test03(){
mPrint mp;
doPrint(mp,"Hello World, C++");
}
int main(){
//test01();
//test02();
test03();
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/llongger/codeCpp.git
[email protected]:llongger/codeCpp.git
llongger
codeCpp
Code_C++
master

搜索帮助