成员函数适配器

2019-10-30  本文已影响0人  python小青

#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;

}

上一篇 下一篇

猜你喜欢

热点阅读