is_abstract (Clase)

 

Publicado: octubre de 2016

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

Comprueba si el tipo es de clase abstracta.

template <class Ty>  
struct is_abstract;  

Parámetros

Ty
Tipo que se va a consultar.

Una instancia del predicado de tipo contiene true si el tipo Ty es una clase que tiene, como mínimo, una función virtual pura; en caso contrario, contiene false.

// std_tr1__type_traits__is_abstract.cpp   
// compile with: /EHsc   
#include <type_traits>   
#include <iostream>   
  
struct trivial   
    {   
    int val;   
    };   
  
struct abstract   
    {   
    virtual int val() = 0;   
    };   
  
int main()   
    {   
    std::cout << "is_abstract<trivial> == " << std::boolalpha   
        << std::is_abstract<trivial>::value << std::endl;   
    std::cout << "is_abstract<abstract> == " << std::boolalpha   
        << std::is_abstract<abstract>::value << std::endl;   
  
    return (0);   
    }  
  

is_abstract<trivial> == false  
is_abstract<abstract> == true  

Encabezado:<type_traits></type_traits>

Espacio de nombres: std

<type_traits> </type_traits>
is_polymorphic (clase)

Mostrar: