is_base_of — Klasais_base_of Class

Testuje, czy jeden typ jest podstawą innego.Tests whether one type is base of another.

SkładniaSyntax

template <class Base, class Derived>
struct is_base_of;

ParametryParameters

OpieraBase
Klasa bazowa do przetestowania.The base class to test for.

PozyskiwanDerived
Typ pochodny do przetestowania.The derived type to test for.

UwagiRemarks

Wystąpienie predykatu typu ma wartość true, jeśli typ podstawowy jest klasą bazową typu pochodnego, w przeciwnym razie ma wartość false.An instance of the type predicate holds true if the type Base is a base class of the type Derived, otherwise it holds false.

PrzykładExample

#include <type_traits>
#include <iostream>

struct base
    {
    int val;
    };

struct derived
    : public base
    {
    };

int main()
    {
    std::cout << "is_base_of<base, base> == " << std::boolalpha
        << std::is_base_of<base, base>::value << std::endl;
    std::cout << "is_base_of<base, derived> == " << std::boolalpha
        << std::is_base_of<base, derived>::value << std::endl;
    std::cout << "is_base_of<derived, base> == " << std::boolalpha
        << std::is_base_of<derived, base>::value << std::endl;

    return (0);
    }
is_base_of<base, base> == true
is_base_of<base, derived> == true
is_base_of<derived, base> == false

WymaganiaRequirements

Nagłówek:<type_traits>Header: <type_traits>

Przestrzeń nazw: stdNamespace: std

Zobacz teżSee also

<type_traits><type_traits>
Klasa is_convertibleis_convertible Class