Question 6

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:
virtual void Print(){ cout<< "B";}
};
class C:public B {
public:
void Print(){ cout<< "C";}
};
int main()
{
A ob1;
B ob2;
C ob3;
B *obj;
obj = &ob2;
obj?>Print();
obj = &ob3;
obj?>Print();
}
  • Question 7

    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 8

    Given:
    #include <iostream>
    #include <exception>
    using namespace std;
    int main () {
    try
    {
    int * myarray= new int[1000];
    }
    catch (bad_alloc&)
    { cout << "Error allocating memory"; } catch (exception& e) { cout << "Standard exception"; } catch (...) { cout << "Unknown exception"; } return 0; }
    What will happen if we use the operator "new" and the memory cannot be allocated?
  • Question 9

    What happens when you attempt to compile and run the following code?
    #include <iostream>
    using namespace std;
    int main(int argc, char *argv[]) {
    char *s = "ABCDEF";
    cout << s+2;
    return 0;
    }
  • Question 10

    How could you pass arguments to functions?