统计vector容器中指定元素的个数

#include <vector>
#include <algorithm>
class student
{
    int NO;
    AnsiString strName;
    int grade;
    public:
    student(int NO,AnsiString strName,int grade)
    {
       this->NO = NO;
       this->strName = strName;
       this->grade   = grade;
    }
    bool operator==(AnsiString strName)
    {
       return this->strName == strName;
    }
};
上面这个类,在STL中叫函数对象,重载运算符==,当执行Count函数时,会比较[v.begin,v.end]中的各
student对象是否与“张三”相等
void __fastcall TForm1::Button11Click(TObject *Sender)
{
    vector<student> v;
    student s1(1000,AnsiString("张三"),90);
    student s2(1001,AnsiString("张三"),91);
    student s3(1002,AnsiString("王五"),90);
    student s4(1003,AnsiString("赵六"),90);
    v.push_back(s1);
    v.push_back(s2);
    v.push_back(s3);
    v.push_back(s4);
    int nCount = count(v.begin(),v.end(),"张三");
    ShowMessage(nCount);

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值