Freigeben über


is_polymorphic Class

Prüft, ob Typ eine virtuelle Funktion verfügt.

template<class Ty>
    struct is_polymorphic;

Parameter

  • Ty
    Der abzufragende Typ.

Hinweise

Eine Instanz des Typs prädikats behält True an, wenn der Typ eine Klasse ist, die Ty eine virtuelle Funktion deklariert oder geerbt wird, andernfalls false führt sie fest.

Beispiel

 

// std_tr1__type_traits__is_polymorphic.cpp 
// compile with: /EHsc 
#include <type_traits> 
#include <iostream> 
 
struct trivial 
    { 
    int val; 
    }; 
 
struct throws 
    { 
    throws() throw(int) 
        { 
        } 
 
    throws(const throws&) throw(int) 
        { 
        } 
 
    throws& operator=(const throws&) throw(int) 
        { 
        } 
 
    virtual ~throws() 
        { 
        } 
 
    int val; 
    }; 
 
int main() 
    { 
    std::cout << "is_polymorphic<trivial> == " << std::boolalpha 
        << std::is_polymorphic<trivial>::value << std::endl; 
    std::cout << "is_polymorphic<throws> == " << std::boolalpha 
        << std::is_polymorphic<throws>::value << std::endl; 
 
    return (0); 
    } 
 
  

Anforderungen

Header: <type_traits>

Namespace: std

Siehe auch

Referenz

<type_traits>

is_abstract Class

Weitere Ressourcen

<type_traits> Member