How to use typeid on polymorphism objects in C++

1 Answer

0 votes
#include <iostream>

using std::cout;
using std::endl;

class Mammal {
public:
	virtual void show() { }
};

class Dog : public Mammal {
public:
	void show() { }
};

class Cat : public Mammal {
public:
	void show() { }
};

int main()
{
	Mammal *p, mml;
	Dog dog;
	Cat cat;

	p = &mml;
	cout << typeid(*p).name() << endl;
	
	p = &dog;
	cout << typeid(*p).name() << endl;

	p = &cat;
	cout << typeid(*p).name() << endl;

	return 0;
}



/*
run:

class Mammal
class Dog
class Cat

*/

 



answered Mar 10, 2018 by avibootz

Related questions

2 answers 289 views
1 answer 222 views
1 answer 221 views
1 answer 188 views
1 answer 171 views
...