클래스 템플릿과 함수 대상
# include <iostream>
# include <vector>
# include <list>
# include <algorithm>
using namespace std;
//class absInt{
// public :
// int operator() (int val){
//
// }
//};
// 
struct absInt{
    // : 
    int operator() (int val){
        return val<0?-val:val;
    }
};
// 
template<typename elementType>
void FuncDisplayElement(const elementType & element){
    cout<<element<<" ";
}
// 
template<typename elementType>
struct DisplayElement{
    // 
    int m_nCount;
     DisplayElement(){
        m_nCount = 0;
     }
    void operator() (const elementType & element) /*const  const */{
        m_nCount++;
        cout<<element<<" ";
    }
};
int main(){
    absInt absObj;// 
    int i = -52;
    int j = absObj(i);//  , 
    cout<<j<<endl;
    vector<int> a;
    for(int k=0;k<10;k++){
        a.push_back(k);
    }
    list<char> b;
    for(char c='a';c<'k';c++){
        b.push_back(c);
    }
    //STL 
    // 1.for_each , a.begin , a.end ,  DisplayElement  
    for_each(a.begin(),a.end(),DisplayElement<int>());
    cout<<endl<<endl;
    for_each(b.begin(),b.end(),DisplayElement<char>()); 
    cout<<endl<<endl;
    DisplayElement<int> mResult;
    mResult = for_each(a.begin(),a.end(),mResult);//  
    cout<<mResult.m_nCount<<endl<<endl; 
    return 0;
}
                이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Ruby의 구조체 클래스은 접근자 메서드가 있는 속성 모음입니다. 클래스를 명시적으로 작성할 필요 없이. Struct 클래스는 구성원 및 해당 값 집합을 포함하는 새 하위 클래스를 생성합니다. 각 멤버에 대해 #attr_accessor 와...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.