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