C++/Generic/Template Class


Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179

Deprecated: Creation of dynamic property PPDStack::$accum is deprecated in /var/www/cppe.ru/www/includes/parser/Preprocessor_DOM.php on line 803

Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/includes/exception/MWExceptionHandler.php on line 179

Deprecated: Constant E_STRICT is deprecated in /var/www/cppe.ru/www/vendor/mediawiki/at-ease/src/Functions.php on line 48
Материал из C\C++ эксперт
Перейти к: навигация, поиск

typeid Can Be Applied to Template Classes

<source lang="cpp">

  1. include <iostream>

using namespace std; template <class T> class myclass {

 T a;

public:

 myclass(T i) { 
   a = i; 
 }

}; int main() {

 myclass<int> o1(10), o2(9);
 myclass<double> o3(7.2);
 cout << "Type of o1 is ";
 cout << typeid(o1).name() << endl;
 cout << "Type of o2 is ";
 cout << typeid(o2).name() << endl;
 cout << "Type of o3 is ";
 cout << typeid(o3).name() << endl;
 cout << endl;
 if(typeid(o1) == typeid(o2))
   cout << "o1 and o2 are the same type\n";
 if(typeid(o1) == typeid(o3))
   cout << "Error\n";
 else
   cout << "o1 and o3 are different types\n";
 return 0;

}


      </source>