CPP : C++ Certified Professional Programmer : Part 12
-
What happens when you attempt to compile and run the following code?
#include <deque>
#include <iostream>
#include <algorithm>
using namespace std;
template<class T>struct Out {
ostream & out;
Out(ostream & o): out(o){}
void operator() (const T & val ) { out<<val<<” “; } };
int main() {
int t[]={8, 10, 5, 1, 4, 6, 2, 7, 9, 3};
deque<int> d1(t, t+10);
deque<int>::iterator it = lower_bound(d1.begin(), d1.end(), 4);
for_each(it, d1.end(), Out<int>(cout));cout<<endl;
return 0;
}Program outputs:
- 8 10 5 1 4 6 2 7 9 3
- 4 5 6 7 8 9 10
- 1 2 3 4 5 6 7 8 9 10
- compilation error
- 1 2 3 4
-
What happens when you attempt to compile and run the following code?
#include <iostream>
using namespace std;
template <typename T>
class A {
T _v;
public:
A() {}
A(T v): _v(v){}
T getV() { return _v; }
void add(T a) { _v+=a; }
template <class U>
U get(U a) {
return (U)(_v);
}
};int main()
{
A<int> a(1);
a.add(10);
cout.setf( ios::showpoint);
cout << a.getV() << ” ” << a.get(1.0)<<endl;
return 0;
}- program will display: 11 11
- program will not compile
- program will display: 11.0000 11
- program will display: 11 11.000
-
What happens when you attempt to compile and run the following code?
include <iostream>
#include <algorithm>
#include <vector>
#include <deque>
#include <set>
using namespace std;int main() {
int t[] = { 10, 5, 9, 6, 2, 4, 7, 8, 3, 1 };
vector<int> v1(t, t + 10);
deque<int> d1(t, t + 10);
set<int> s1(t, t + 10);
cout<<find(v1.begin(), v1.end(), 6)<<” “<<find(d1.begin(), d1.end(), 6)<<” “<<find(s1.begin(), s1.end(), 6);
return 0;
}- program outputs: 6 6 6
- program outputs: 3 3 5
- program outputs: 3 6 5
- compilation error
- none of these
-
What happens when you attempt to compile and run the following code?
#include <vector>
#include <iostream>
int main ()
{
std::vector<int>v1;
for(int i = 10; i>0; i??)
{
v1.push_back(i);
}
std::vector<int>::iterator it = v1.begin();
int sum = 0;
while(it != v1.end())
{
sum+=it++;
}
std::cout<<*v1.erase(v1.begin(),v1.end()?3)<<” “<<sum <<std::endl;return 0;
}- program outputs 3 55
- compilation error
- program outputs 3 45
- program outputs 7 55
-
What happens when you attempt to compile and run the following code?
#include <iostream>
using namespace std;
void g(int a)
{
cout<<a?1<<endl;
}template<class A>
void g(A a)
{
cout<<a+1<<endl;
}int main()
{
int a = 1;
g(a);
return 0;
}- program displays: 0
- program displays: 2
- compilation error
- runtime exception
-
What happens when you attempt to compile and run the following code?
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
template<class T>struct Out {
ostream & out;
Out(ostream & o): out(o){}
void operator() (const T & val ) { out<<val<<” “; } };int main() {
int t1[]={3,2,4,1,5};
int t2[]={6,10,8,7,9};
vector<int> v1(10);
sort(t1, t1+5);
sort(t2, t2+5);
merge(t1,t1+5,t2,t2+5,v1.begin());
for_each(v1.begin(), v1.end(), Out<int>(cout));cout<<endl;
return 0;
}Program outputs:
- 1 2 3 4 5 6 10 8 7 9
- 3 2 4 1 5 6 7 8 9 10
- 3 2 4 1 5 6 10 8 7 9
- 1 2 3 4 5 6 7 8 9 10
- compilation error
-
What happens when you attempt to compile and run the following code?
#include <list>
#include <iostream>
#include <deque>
using namespace std;
template<class T> void print(T start, T end) {
while (start != end) {
std::cout << *start << ” “; start++;
}
}
class A {
int a;
public:
A(int a):a(a){}
operator int () const { return a;}int getA() const { return a;}
};
struct R {
int val;
R(int v):val(v){}
bool operator ()(const A & a) { return a>val;} };
int main() {
int t1[] ={ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
list<A> l1(t1, t1 + 10);
R r(4);l1.remove_if(r);
print(l1.begin(), l1.end()); cout<<endl;
return 0;
}- program outputs: 1 2 3 4
- program outputs: 5 6 7 8 9 10
- program outputs: 1 2 3 4 5
- program outputs: 6 7 8 9 10
-
What happens when you attempt to compile and run the following code?
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
template<class T>struct Out {
ostream & out;
Out(ostream & o): out(o){}
void operator() (const T & val ) { out<<val<<” “; } };int main() {
int t1[]={3,2,4,1,5};
int t2[]={5,6,8,2,1};
vector<int> v1(10);
sort(t1, t1+5);
sort(t2, t2+5);
set_difference(t1,t1+5,t2,t2+5,v1.begin());
for_each(v1.begin(), v1.end(), Out<int>(cout));cout<<endl;
return 0;
}Program outputs:
- 1 2 3 4 5 6 8 0 0 0
- 3 4 0 0 0 0 0 0 0 0
- 6 8 0 0 0 0 0 0 0 0
- compilation error
- 1 2 5 0 0 0 0 0 0 0
Subscribe
0 Comments
Newest