Question 16

What happens when you attempt to compile and run the following code?
#include <iostream>
using namespace std;
class A {
public :
void print() {
cout << "A ";
}
};
class B {
public :
void print() {
cout << "B ";
}
};
int main() {
B sc[2];
A *bc = (A*)sc;
for (int i=0; i<2;i++)
(bc++)->print();
return 0;
}
  • Question 17

    How could you pass arguments to functions?
  • Question 18

    What happens when you attempt to compile and run the following code?
    #include <iostream>
    #include <string>
    using namespace std;
    class complex{
    double re, im;
    public:
    complex() : re(1),im(0.4) {}
    complex operator?(complex &t);
    void Print() { cout << re << " " << im; }
    };
    complex complex::operator? (complex &t){
    complex temp;
    temp.re = this->re ? t.re;
    temp.im = this->im ? t.im;
    return temp;
    }
    int main(){
    complex c1,c2,c3;
    c3 = c1 ? c2;
    c3.Print();
    }
  • Question 19

    What is the output of the program if character 4 is supplied as input?
    #include <iostream>
    using namespace std;
    int main () {
    int c;
    cin >> c;
    try
    {
    switch (c)
    {
    case 1:
    throw 20;
    case 2:
    throw 5.2f;
    case 3:
    throw 'a';
    default:
    cout<<"No exception";
    }
    }
    catch (int e)
    { cout << "int exception. Exception Nr. " << e; }
    catch (float e)
    { cout << "float exception. Exception Nr. " << e; }
    catch (...)
    { cout << "An exception occurred."; }
    return 0;
    }
  • Question 20

    What happens when you attempt to compile and run the following code?
    #include <iostream>
    using namespace std;
    class A
    {
    public:
    void Print(){ cout<<"A";}
    };
    class B:public A
    {
    public:
    void Print(){ cout<< "B";}
    };
    int main()
    {
    A *obj;
    A ob1;
    obj = &ob1;
    obj?>Print();
    B ob2;
    obj = &ob2;
    obj?>Print();
    }