P
Pranav
#include <iostream>
#include <conio.h>
using namespace std;
class Base{
public :
Base(){ ib = 123; cb = 'B'; }
int ib;
char cb;
virtual void print(){ cout << "Base Class\n" ;}
~Base(){ }
};
class Der : public Base{
public :
Der():Base(){ id = 456; cd = 'D'; }
int id;
char cd;
void print(){ cout << "Deerived Class\n"; }
~Der(){ }
};
main()
{
Der d1, *dp = new Der;
Base b1, *bp;
Base *bp2 = dynamic_cast<Base *> (dp) ;
bp2->print( );
// Base *bp3 = dynamic_cast<Base *> (bp2) ;
// Der *dp3 = dynamic_cast<Der *> (bp2) ;
getche();
return 0;
}
COMMENTED LINES are generating RUN TIME ERROR
#include <conio.h>
using namespace std;
class Base{
public :
Base(){ ib = 123; cb = 'B'; }
int ib;
char cb;
virtual void print(){ cout << "Base Class\n" ;}
~Base(){ }
};
class Der : public Base{
public :
Der():Base(){ id = 456; cd = 'D'; }
int id;
char cd;
void print(){ cout << "Deerived Class\n"; }
~Der(){ }
};
main()
{
Der d1, *dp = new Der;
Base b1, *bp;
Base *bp2 = dynamic_cast<Base *> (dp) ;
bp2->print( );
// Base *bp3 = dynamic_cast<Base *> (bp2) ;
// Der *dp3 = dynamic_cast<Der *> (bp2) ;
getche();
return 0;
}
COMMENTED LINES are generating RUN TIME ERROR