Deal of The Day! Hurry Up, Grab the Special Discount - Save 25% - Ends In 00:00:00 Coupon code: SAVE25
Welcome to Pass4Success

- Free Preparation Discussions

C++ Institute Exam CPP Topic 2 Question 75 Discussion

Actual exam question for C++ Institute's CPP exam
Question #: 75
Topic #: 2
[All CPP Questions]

What happens when you attempt to compile and run the following code?

#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

ostream & operator <<(ostream & out, const B & v) { out<

templatestruct Out {

ostream & out;

Out(ostream & o): out(o){}

void operator() (const T & val ) { out<

int main() {

int t[]={8, 10, 5, 1, 4, 6, 2, 7, 9, 3};

deque d1(t, t+10);

sort(d1.begin(), d1.end());

deque::iterator it = upper_bound(d1.begin(), d1.end(), B(4), greater());

for_each(it, d1.end(), Out(cout)); cout<

return 0;

}

Program outputs:

Show Suggested Answer Hide Answer
Suggested Answer: C

Contribute your Thoughts:

Izetta
27 days ago
I'm going with option D, but I'm also wondering if the person who wrote this code has a thing for the number 4. Just sayin'.
upvoted 0 times
...
Lawrence
1 months ago
Definitely option D. The code sorts the deque in ascending order, and then the `upper_bound` function with `greater()` gives us the reverse order from 10 to 1.
upvoted 0 times
Kindra
7 days ago
Then the upper_bound function with greater() gives us the reverse order from 10 to 1.
upvoted 0 times
...
Kindra
9 days ago
Yes, the code sorts the deque in ascending order first.
upvoted 0 times
...
Shaun
16 days ago
I agree, the code sorts the deque in ascending order first.
upvoted 0 times
...
Wynell
19 days ago
Definitely option D.
upvoted 0 times
...
Kindra
20 days ago
Definitely option D.
upvoted 0 times
...
...
Kerrie
1 months ago
Haha, option A looks like someone just randomly guessed the output! That's not how it works, my friend.
upvoted 0 times
...
Freida
1 months ago
I think option C is correct. There must be a compilation error because the `operator<<` for `B` is not defined outside the class.
upvoted 0 times
...
Emogene
2 months ago
The code will compile and run, and the output will be option D. The `upper_bound` function with a `greater()` comparator will return an iterator to the first element in the deque that is greater than 4, which is the elements in reverse order from 10 to 1.
upvoted 0 times
Fletcher
19 days ago
The `upper_bound` function returns elements in reverse order from 10 to 1.
upvoted 0 times
...
Fletcher
20 days ago
The code will output option D.
upvoted 0 times
...
Shalon
27 days ago
The `upper_bound` function returns elements in reverse order from 10 to 1.
upvoted 0 times
...
Shalon
1 months ago
The code will output option D.
upvoted 0 times
...
...
Lino
2 months ago
I'm not sure, but I think the answer might be B) 1 2 3 4 5 6 7 8 9 10 based on how the code is written.
upvoted 0 times
...
Shanda
2 months ago
I agree with Melynda, the code uses the sort function to sort the deque in ascending order.
upvoted 0 times
...
Melynda
2 months ago
I think the answer is B) 1 2 3 4 5 6 7 8 9 10 because the code sorts the deque in ascending order.
upvoted 0 times
...