函数对象:多态性,暂态表达式,

链接

类名+操作符号sort(coll.begin(),coll.end(),cmp());

cmp()是一个暂态表达式;

函数对象的多态性依靠类的属性,及通过传递不同的参数到类构造函数之中;生成函数对象的不同状态的实例。

class str {
public:
    string a;
    string b;
    str(string a1, string b1) : a(a1), b(b1) {};
};

class cmp {
public:
    bool operator() (const str&a1,const str &b1)
    {
            return a1.b>b1.b;
    }

};
vector<str> coll;

int main() {
    ios::sync_with_stdio(false);
    //cin.tie(0);
    //cout.tie(0);
    str s1("afsdf","56asdf");
    str s2("afsd56f","#$5we56asdf");
    str s3("aZ&*fsdf","56fads)_*_fasdf");
    coll.push_back(s1);
    coll.push_back(s2);
    coll.push_back(s3);
    sort(coll.begin(),coll.end(),cmp());
    //cmp() 是暂态表达式;
    for(auto i:coll)
    {
        cout<<i.a<<'\t'<<i.b<<endl;
    }
    cout<<('5'>'#');
    return 0;
}
全部评论

相关推荐

06-08 22:25
门头沟学院 Java
从零开始的转码生活:这hr不会打开手机不分青红皂白给所有人群发这句话,过一会再给所有人再发一遍,这肯定会有重复的,不管,再过一会再发一遍
点赞 评论 收藏
分享
07-07 11:33
江南大学 Java
已经在暑假实习了&nbsp;,没有明确说有hc,纠结实习到八月份会不会有点影响秋招毕竟感觉今年好多提前批
程序员小白条:92的话准备提前批,其他没必要,没面试机会的,而且你要准备充分,尤其八股和算法题
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务