다음을 통해 공유


is_polymorphic 클래스

형식에 가상 함수가 있는지 테스트합니다.

구문

template <class Ty>
struct is_polymorphic;

매개 변수

Ty
형식이 쿼리입니다.

설명

형식 조건자의 인스턴스는 Ty 형식이 가상 함수를 선언하거나 상속하는 클래스인 경우 true이고, 그렇지 않으면 false를 보유합니다.

예시

// 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

요구 사항

헤더:<type_traits>

네임스페이스: std

참고 항목

<type_traits>
is_abstract 클래스