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;  | ||
|  |      | ||
|  |      | ||
|  | }  |