Bagikan melalui


Kelas is_base_of

Menguji apakah satu jenis adalah dasar dari jenis lain.

Sintaks

template <class Base, class Derived>
struct is_base_of;

Parameter

Dasar
Kelas dasar untuk diuji.

Berasal
Jenis turunan untuk diuji.

Keterangan

Instans predikat jenis memegang true jika jenis Base adalah kelas dasar dari jenis Turunan, jika tidak, itu menyimpan false.

Contoh

#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

Persyaratan

Header:<type_traits>

Namespace: std

Baca juga

<type_traits>
Kelas is_convertible