Espaços nominais
Variantes
Ações

std::is_abstract

De cppreference.com

<metanoindex/>

 
 
Biblioteca de utilitários
Digite apoio (basic types, RTTI, type traits)
Gerenciamento de memória dinâmica
De tratamento de erros
Utilidades do programa
Variadic funções
Data e hora
Objetos de função
(C++11)
Os operadores relacionais
Original:
Relational operators
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
rel_ops::operator!=
rel_ops::operator>
rel_ops::operator<=
rel_ops::operator>=
Pares e tuplas
Original:
Pairs and tuples
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
(C++11)
Troque, avançar e avançar
Original:
Swap, forward and move
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
(C++11)
(C++11)
(C++11)
 
Apoio a tipos
Tipos básicos
Original:
Basic types
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Tipos fundamentais
Tipos inteiros de largura fixos (C++11)
Limites numéricos
Original:
Numeric limits
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
C numérico limita interface
Informações de tipo de tempo de execução
Original:
Runtime type information
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Características de tipo
Original:
Type traits
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Principais categorias de tipo
Original:
Primary type categories
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
Propriedades de tipo
Original:
Type properties
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
(C++11)
(C++11)
(C++11)
Operações apoiadas
Original:
Supported operations
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Relacionamentos e consultas de propriedade
Original:
Relationships and property queries
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
(C++11)
(C++11)
(C++11)
(C++11)
Tipo modificações
Original:
Type modifications
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
(C++11)(C++11)(C++11)
Transformações tipo
Original:
Type transformations
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
(C++11)
(C++11)
(C++11)
Digite constantes traço
Original:
Type trait constants
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
 
<tbody> </tbody>
Definido no cabeçalho <type_traits>
template< class T > struct is_abstract;
(desde C++11)
Se T é uma classe abstrata (ou seja, uma classe que declara ou herda pelo menos uma função virtual pura), fornece o membro constante value true igual. Para qualquer outro tipo, é value false.
Original:
If T is an abstract class (that is, a class that declares or inherits at least one pure virtual function), provides the member constant value equal true. For any other type, value is false.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Herdado de std::integral_constant

Member constants

value
[estática]
true se T is an abstract class type , false contrário
Original:
true if T is an abstract class type , false otherwise
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(membro estático público constante)

Member functions

operator bool
converte o objeto em bool, retorna value
Original:
converts the object to bool, returns value
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(função pública membro)

Member types

Tipo
Original:
Type
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Definition
value_type bool
type std::integral_constant<bool, value>

Notas

Classes abstratas só podem ser usados ​​como classes base, nenhum objeto de um tipo de classe abstrata pode ser criado, exceto na forma de sub-objetos da classe base.
Original:
Abstract classes may only be used as base classes; no objects of an abstract class type can be created except in form of base class subobjects.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Uma classe abstrata pode ser derivada de uma classe que não é abstrato se uma função virtual pura substitui uma função virtual que não é puro.
Original:
An abstract class may be derived from a class that is not abstract if a pure virtual function overrides a virtual function that is not pure.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Exemplo

#include <iostream>
#include <type_traits>

struct A {
    int m;
};

struct B {
    virtual void foo();
};

struct C {
    virtual void foo() = 0;
};

struct D : C {};

int main()
{
    std::cout << std::boolalpha;
    std::cout << std::is_abstract<A>::value << '\n';
    std::cout << std::is_abstract<B>::value << '\n';
    std::cout << std::is_abstract<C>::value << '\n';
    std::cout << std::is_abstract<D>::value << '\n';
}

Saída:

false
false
true
true

Veja também

(C++11)
checks if a type is a class type (but not union type)
(modelo de classe) [edit]
verifica se um tipo é o tipo de classe polimórfica
Original:
checks if a type is polymorphic class type
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(modelo de classe) [edit]