exam questions

Exam CPP All Questions

View all questions & answers for the CPP exam

Exam CPP topic 2 question 148 discussion

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

What happens when you attempt to compile and run the following code?
#include <vector>
#include <iostream>
#include <algorithm>
#include <functional>
using namespace std;
class B { int val;
public:
B(int v=0):val(v){}
int getV() const {return val;}
operator int () const { return val;} };
template<class T>struct Out {
ostream & out;
Out(ostream & o): out(o){}
void operator() (const T & val ) { out<<val<<" "; } }; struct Add : public binary_function<B, B, B> {
B operator() (const B & a, const B & b) const {
return a+b; } };
int main() {
B t[]={1,2,3,4,5,6,7,8,9,10};
vector<B> v1(t, t+10);
vector<B> v2(10);
transform(v1.begin(), v1.end(), v2.begin(), bind1st(Add(), 1)); for_each(v2.rbegin(), v2.rend(), Out<B>(cout));cout<<endl; return 0;
}
Program outputs:

  • A. 1 2 3 4 5 6 7 8 9 10
  • B. 2 3 4 5 6 7 8 9 10 11
  • C. 10 9 8 7 6 5 4 3 2 1
  • D. 11 10 9 8 7 6 5 4 3 2
  • E. compilation error
Show Suggested Answer Hide Answer
Suggested Answer: D 🗳️

Comments

Chosen Answer:
This is a voting comment (?). It is better to Upvote an existing comment if you don't have anything to add.
Switch to a voting comment New
Currently there are no comments in this discussion, be the first to comment!
Community vote distribution
A (35%)
C (25%)
B (20%)
Other
Most Voted
A voting comment increases the vote count for the chosen answer by one.

Upvoting a comment with a selected answer will also increase the vote count towards that answer by one. So if you see a comment that you already agree with, you can upvote it instead of posting a new comment.

SaveCancel
Loading ...