Professional Documents
Culture Documents
__________________________________________________________________________________________________
__________________________________________________________________________________________________
Q2. Write output of the code in front of each function call. If any line has error, underline it and give reason below the
box:
class A{ class D:virtual public B, virtual public C{
public: public:
A(){cout<<"A ";} D(){cout<<"D ";}
~A(){cout<<"DA ";} ~D(){cout<<"DD ";}
void f1(){ cout<<"F1 A "; } };
};
D *ptrD=new D;
class B:public A{
public: ptrD->f1();
B(){cout<<"B ";} B *ptrB=ptrD;
~B(){cout<<"DB ";} delete ptrB;
};
class C:public A{
public:
C(){cout<<"C ";}
~C(){cout<<"DC ";}
};
Write errors here:
__________________________________________________________________________________________________
__________________________________________________________________________________________________
Punjab University College of Information Technology Resource Person: Abdul Mateen
OOP-BIT Fall 2017
Q3. Write all classes used in first column. Add required member functions in classes, according to code+common sense?
Printer *p=new SimplexP; Printer
p-print(); I am Simplex Printer
p=new DuplexP;
p->print(); I am Parent Printer SimplexP DuplexP
delete p; I am destructor of Duplex
p=new ColorSP;
p->print(); I am Simplex Color Printer ColorSP
ColorSP *cp=(ColorSP*)p;
cp->colorPrinting(); I can do color printing