Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Sprawdza, czy typ ma funkcję wirtualną.
Składnia
template <class Ty>
struct is_polymorphic;
Parametry
Ty
Typ do zapytania.
Uwagi
Wystąpienie predykatu typu ma wartość true, jeśli typ Ty jest klasą, która deklaruje lub dziedziczy funkcję wirtualną, w przeciwnym razie przechowuje wartość false.
Przykład
// std__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
Wymagania
Nagłówek:<type_traits>
Przestrzeń nazw: std