클래스 템플릿과 함수 대상
# 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에 따라 라이센스가 부여됩니다.