Q: 7
What happens when you attempt to compile and run the following code?
#include
#include
#include
#include
using namespace std;
class B { int val;
public:
B(int v):val(v){}
int getV() const {return val;} bool operator > (const B & v) const { return val>v.val;} };
ostream & operator <<(ostream & out, const B & v) { out<<v.getV(); return out;}
templatestruct Out {
ostream & out; Out(ostream & o): out(o){}
void operator() (const T & val ) { out<<val<<" "; } };
int main() {
int t[]={20, 30, 10, 20, 30, 10, 20, 30, 10, 20};
deque d1(t, t+10);
sort(d1.begin(), d1.end(), greater());
pair<deque ::iterator, deque::iterator > result = equal_range(d1.begin(), d1.end(), B(20),
greater());
for_each(result.first, result.second, Out(cout));cout<<endl;
return 0;
}
Program outputs:
Options
Discussion
No comments yet. Be the first to comment.
Be respectful. No spam.