Para ver el artículo en inglés, active la casilla Inglés. También puede ver el texto en inglés en una ventana emergente si pasa el puntero del mouse por el texto.
Traducción
Inglés

is_polymorphic (Clase)

 

Comprueba si el tipo tiene una función virtual.

template<class Ty>
    struct is_polymorphic;

Ty

Tipo que se va a consultar.

Una instancia del predicado de tipo contiene true si el tipo Ty es una clase que declara o hereda una función virtual; en caso contrario, contiene false.

Ejemplo

 

// 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); 
    } 

            is_polymorphic<trivial> == false
is_polymorphic<throws> == true

Requisitos

Encabezado: <type_traits>

Espacio de nombres: std

Mostrar: