成员函数的玩法.

成员函数的玩法.

用 函=函数<()>;
无序映<,>普通;<型名 C>用 成针=(C::*)();
//这个成针专针对空()
//<型名 C>空 加函(符 c,成针<C>&f,C&d){(普通,c,绑定(f,d));
}<型名 C>空 多个(&b,向量<成针<C>>&,C&c){
    整 i=0,j=b.大小();(整 i=0;i<j;i++)加函(b[i],[i],c);
}

构 A{
    串 a{"fg"};向量<成针<A>>;
    A(){
        压多(,&A::f,&A::g);多个(a,,*);
    }//成员函数的指纹为A::*,f(){打印("Af");}g(){打印("Ag");}
};

构 B:A{
    串 b{"ab"};向量<成针<B>>;
    B(){
        压多(,&B::f,&B::g);多个(b,,*);
    }f(){打印("Bf");}g(){打印("Bg");}
    空 打(){(&p:普通)p.第二();
    }
};//可以附加一个都可以打印函数名的

空 测试(){
    //函数<空(A&)>m=&A::f;
    //函数<空(B&)>n=&B::g;
    //不用像上面这样
    A a;B b;
    //向量<函>们;
    //函 f=绑定(&A::f,a);
    //函 g=绑定(&B::g,b);竖压(们,f,g);
    //对(动&h:们)h();
    b.();
}


空 主(){
    测试();
}
posted @ 2019-05-20 16:04  zjh6  阅读(16)  评论(0)    收藏  举报  来源