类模板与板书对象2

# include 
# include 
# include 
using namespace std; 
template <typename numberType>
struct IsMultiple{
    numberType m_Divisor;//几的倍数
     //构造函数 
     IsMultiple(const numberType& divisor){
        m_Divisor = divisor;
     }   
     bool operator()(const numberType& element) const{//一元谓词 
        return ( ( element % m_Divisor ) == 0 );
     } //判断被 divisor整除数 
};
int main(){ 
    vector<int> vecIntegers;
    for(int i=22;i<=100;i++){
        vecIntegers.push_back(i);
    }
    IsMultiple<int> a(3);// m_Divisor=3 
    //第一个被3整除的书 
    vector<int>::iterator iElement;
    iElement = find_if(vecIntegers.begin(),vecIntegers.end(),a);
    // iElement = find_if(vecIntegers.begin(),vecIntegers.end(),IsMultiple (3) ); //IsMultiple (3)匿名独享 
    if(iElement!=vecIntegers.end()){
        cout<<*iElement<return 0;
}

类模板与板书对象2_第1张图片

你可能感兴趣的:(STL)