Question 1: What is the output of the following snippet?
#include <iostream>
using namespace std;
class N {
public:
float x;
N() { x = 0.0; }
N(float a) { x = a; }
N(N &n) { x = n.x; }
N &operator=(float f) { x = f – 1; return *this; }
};
int main() {
N a;
a = 2.0;
cout << a.x;
return 0;
}
- 0
- Compilation fails
- 2
- 1
Question 2: What is the output of the following snippet?
#include <iostream>
using namespace std;
class N {
public:
float x;
N() { x = 0.0; }
N(float a) { x = a; }
N(N &n) { x = n.x; }
N &operator<<(N &y) { return *new N(x * 10); }
};
int main() {
N a(2.0),b(4.0);
N c = a << 1;
cout << c.x;
return 0;
}
- Compilation fails
- 1
- 0
- 2
Question 3: What is the output of the following snippet?
#include <iostream>
using namespace std;
class Int {
public:
int v;
Int(int a) { v = a; }
Int &operator–() {
++v;
return *this;
}
Int &operator–(int v) {
v+=2;
return *this;
}
};
ostream &operator <<(ostream &o, Int &a) {
return o << a.v++;
}
int main() {
Int i = 0;
cout << –i << i–;
return 0;
}
- 21
- 12
- 23
- 10
Question 4: What is the output of the following snippet?
#include <iostream>
using namespace std;
class Int {
public:
int v;
Int(int a) { v = a; }
};
ostream &operator <<(ostream &o, Int &a) {
return o << –a.v;
}
int main() {
Int i = 1;
cout << i;
return 0;
}
- Compilation fails
- 1
- 2
- 0
Question 5: What is the output of the following snippet?
#include <iostream>
#include <string>
using namespace std;
class N {
public:
float x;
N() { x = 0.0; }
N(float a) { x = a; }
N(N &n) { x = n.x; }
string operator==(N &n) { if(this != &n) return “true”; else return “false”; }
};
int main() {
N a(1.1), *b = &a;
cout << (a == *b);
return 0;
}
- true
- false
- It prints an empty string
- Compilation fails
Question 6: What is the output of the following snippet?
#include <iostream>
using namespace std;
class Int {
public:
int v;
Int(int a) { v = a; }
Int &operator++(int x) {
v+=2;
return *this;
}
};
ostream &operator <<(ostream &o, Int &a) {
return o << a.v;
}
int main() {
Int i = 0;
cout << i++ << i.v;
return 0;
}
- Compilation fails
- 20
- 22
- 21
Question 7: What is the output of the following snippet?
#include <iostream>
using namespace std;
enum T { A = 2, B = -1, C };
T operator+(T t, int i) {
switch(t) {
case A: return T(0);
case B: return static_cast<T>(2);
default:return (T)1;
}
}
int main() {
T i = A + 2;
cout << i;
return 0;
}
- 2
- 0
- 1
- Compilation fails
Question 8: What is the output of the following snippet?
#include <iostream>
using namespace std;
class Int {
public:
int v;
Int(int a) { v = a; }
Int &operator–() {
++v;
return *this;
}
};
ostream &operator <<(ostream &o, Int &a) {
return o << –a.v;
}
int main() {
Int i = 2;
cout << i;
return 0;
}
- Compilation fails
- 0
- 1
- 2
Question 9: What is the output of the following snippet?
#include <iostream>
using namespace std;
enum T { A = 2, B = -1, C };
class Int {
public:
T v;
Int(T a) { v = a; }
Int & operator++() { v += 2; return *this; }
};
ostream &operator <<(ostream &o, Int &a) {
++a;
return o << a.v;
}
int main() {
Int i = B;
cout << i;
return 0;
}
- 0
- 2
- Compilation fails
- 1
Question 10: What is the output of the following snippet?
#include <iostream>
using namespace std;
class Int {
public:
int v;
Int(int a) { v = a; }
Int &operator[](int x) {
v+=x;
return *this;
}
};
ostream &operator <<(ostream &o, Int &a) {
return o << a.v;
}
int main() {
Int i = 2;
cout << i.v << i[2];
return 0;
}
- 44
- Compilation fails
- 24
- 33
Question 11: What is the output of the following snippet?
#include <iostream>
using namespace std;
class Int {
public:
int v;
Int(int a) { v = a; }
Int &operator[](int x) {
v+=x;
return *this;
}
};
ostream &operator <<(ostream &o, Int &a) {
return o << a.v;
}
int main() {
Int i = 2;
cout << i.v << i[2];
return 0;
}
- 44
- Compilation fails
- 24
- 33
Question 12: What is the output of the following snippet?
#include <iostream>
using namespace std;
class N {
public:
float x;
N() { x = 0.0; }
N(float a) { x = a; }
N(N &n) { x = n.x; }
N &operator%(N &y) { return *new N((int)x % (int)y.x); }
};
int main() {
N a(2.0),b(4.0);
N c = a % b;
cout << c.x;
return 0;
}
- 1
- 0
- 2
- Compilation fails
Question 13: What is the output of the following snippet?
#include <iostream>
#include <string>
using namespace std;
class X {
public:
string n;
X(string s) : n(s) {}
void operator() (X x) {
cout << x.n;
}
};
int main(void) {
X x(“a”),y(“b”);
x(y);
y(x);
return 0;
}
- ab
- Compilation fails
- ba
- It prints an empty string
Question 14: What is the output of the following snippet?
#include <iostream>
using namespace std;
class Int {
public:
int v;
Int(int a) { v = a; }
Int &operator–() {
++v;
++v;
return *this;
}
};
ostream &operator <<(ostream &o, Int &a) {
return o << a.v++;
}
int main() {
Int i = 0;
cout << –i;
return 0;
}
- 1
- Compilation fails
- 2
- 0
Question 15: What is the output of the following snippet?
#include <iostream>
using namespace std;
enum T { A = 2, B = -1, C };
class Int {
public:
T v;
Int(T a) { v = a; }
Int & operator++() { v = C; return *this; }
};
ostream &operator <<(ostream &o, Int &a) {
++a;
return o << a.v;
}
int main() {
Int i = B;
cout << i;
return 0;
}
- C
- 1
- Compilation fails
- 0
Question 16: What is the output of the following snippet?
#include <iostream>
#include <string>
using namespace std;
class N {
public:
float x;
N() { x = 0.0; }
N(float a) { x = a; }
N(N &n) { x = n.x; }
string operator==(float f) { if(int(x) == int(f)) return “true”; else return “false”; }
};
int main() {
N a(1.1);
cout << (a == 1.9);
return 0;
}
- true
- It prints an empty string
- Compilation fails
- false
Question 17: What is the output of the following snippet?
#include <iostream>
using namespace std;
class Int {
public:
int v;
Int(int a) { v = a; }
};
ostream &operator <<(Int &a) {
return cout << a.v;
}
int main() {
Int i = 1;
cout << i;
return 0;
}
- Compilation fails
- 1
- 0
- 2
Question 18: What is the output of the following snippet?
#include <iostream>
using namespace std;
class N {
public:
float x;
N() { x = 0.0; }
N(float a) { x = a; }
N(N &n) { x = n.x; }
};
N &operator=(N &y,float f) { return *new N(f); }
int main() {
N a;
a = 2.0;
cout << a.x;
return 0;
}
- 0
- 2
- 1
- Compilation fails
Question 19: What is the output of the following snippet?
#include <iostream>
using namespace std;
enum T { A, B, C };
class Int {
public:
T v;
Int(T a) { v = a; }
};
ostream &operator <<(ostream &o, Int &a) {
return o << a.v;
}
int main() {
Int i = B;
cout << i;
return 0;
}
- 0
- B
- 1
- Compilation fails
Question 20: What is the output of the following snippet?
#include <iostream>
using namespace std;
string operator>(float l, float r) { if(int(l) > int(r)) return “true”; else return “false”; }
int main() {
float l = 2.0, r=2.9999;
cout << (l > r);
return 0;
}
- It prints an empty string
- Compilation fails
- False
- True