#include <iostream>
#include <typeinfo>
using namespace std;
class Person {
protected:
string name;
public:
Person(string name = "") : name(name) {};
virtual ~Person() {}
string getInfo() {
return name;
}
};
class Student : public Person {
string studentid;
public:
Student(string name = "", string sid = "") : Person(name), studentid(sid) {};
string getInfo() {
return name + ":" + studentid;
}
};
int main() {
string s("hello");
cout << "typeid.name of s is " << typeid(s).name() << endl;
cout << "typeid.name of std::string is " << typeid(std::string).name() << endl;
cout << "typeid.name of Student is " << typeid(Student).name() << endl;
if (typeid(std::string) == typeid(s))
cout << "s is a std::string object." << endl;
return 0;
}