26 lines
417 B
C++
26 lines
417 B
C++
|
/*
|
||
|
* RTTI example from https://www.geeksforgeeks.org/g-fact-33/
|
||
|
*/
|
||
|
|
||
|
#include<iostream>
|
||
|
using namespace std;
|
||
|
class B { virtual void fun() {} };
|
||
|
class D: public B { };
|
||
|
|
||
|
int main()
|
||
|
{
|
||
|
B *b = new D;
|
||
|
D *d = dynamic_cast<D*>(b);
|
||
|
if(d != NULL)
|
||
|
cout << "works" << endl;
|
||
|
else
|
||
|
cout << "cannot cast B* to D*" << endl;
|
||
|
|
||
|
|
||
|
asm volatile ("ecall");
|
||
|
|
||
|
return 0;
|
||
|
|
||
|
|
||
|
}
|