成员函数适配器

#include

//成员函数适配器

#include

using namespace std;

class Person{

public:

    Person(string name,int age):m_name(name),m_age(age){}

    string m_name;

    int m_age;

    void showInfo(){

        cout<<"姓名:"<<m_name<<" 年龄:"<<m_age<<endl;

    }

    void agePlus(){

        this->m_age++;

    }

};

int main()

{

    vector v;

    Person p1("张三",19);

    Person p2("李四",20);

    Person p3("王五",21);

    v.push_back(p1);

    v.push_back(p2);

    v.push_back(p3);

    for_each(v.begin(),v.end(),mem_fun_ref(&Person::showInfo));//如果vector里面放的是Person指针,此处使用for_each(v.begin(),v.end(),mem_fun(&Person::showInfo))

    for_each(v.begin(),v.end(),mem_fun_ref(&Person::agePlus));

    cout<<"----------------------"<<endl;

    for_each(v.begin(),v.end(),mem_fun_ref(&Person::showInfo));

    return 0;

}



最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。