fork download
  1. #include <iostream>
  2. #include <typeinfo>
  3. using namespace std;
  4.  
  5. struct Resource {
  6. virtual ~Resource() = default;
  7. };
  8.  
  9. struct Texture : Resource {};
  10.  
  11. struct Tiles : Texture {};
  12.  
  13. int main() {
  14. Resource *resource = new Resource;
  15. Resource *texture = new Texture;
  16. Resource* tiles = new Tiles;
  17.  
  18. cout << typeid(*resource).name() << endl; // yields 'Resource'
  19. cout << typeid(*texture).name() << endl; // yields 'Texture'
  20. cout << typeid(*tiles).name() << endl; // yields 'Texture'
  21.  
  22. return 0;
  23. }
Success #stdin #stdout 0s 5280KB
stdin
Standard input is empty
stdout
8Resource
7Texture
5Tiles