is_polymorphic шаблон в C ++
Опубликовано: 30 Декабря, 2021
Шаблон std :: is_polymorphic C ++ STL используется для проверки того, является ли тип типом полиморфного класса или нет. Он возвращает логическое значение, показывающее то же самое.
Синтаксис :
шаблон <класс T> struct is_polymorphic;
Параметр : этот шаблон содержит единственный параметр T (класс признака), чтобы проверить, является ли T типом полиморфного класса.
Возвращаемое значение : этот шаблон возвращает логическое значение, как показано ниже:
- Верно : если тип является полиморфным классом.
- Ложь : если тип - неполиморфный класс.
Ниже приведены программы, иллюстрирующие шаблон std :: is_polymorphic в C ++ STL:
Программа 1 :
// C++ program to illustrate// std::is_polymorphic template #include <iostream>#include <type_traits>using namespace std; struct gfg { virtual void foo();}; struct geeks : gfg {}; class raj { virtual void foo() = 0;}; struct sam : raj {}; int main(){ cout << boolalpha; cout << "is_polymorphic:" << '
' ; cout << "gfg:" << is_polymorphic<gfg>::value << '
' ; cout << "geeks:" << is_polymorphic<geeks>::value << '
' ; cout << "raj:" << is_polymorphic<raj>::value << '
' ; cout << "sam:" << is_polymorphic<sam>::value << '
' ; return 0;} |
Выход:
is_polymorphic: gfg: true выродки: правда радж: правда Сэм: правда
Программа 2 :
// C++ program to illustrate// std::is_polymorphic template #include <iostream>#include <type_traits>using namespace std; struct gfg { int m;}; struct sam { virtual void foo() = 0;}; class raj : sam {}; int main(){ cout << boolalpha; cout << "is_polymorphic:" << '
' ; cout << "gfg:" << is_polymorphic<gfg>::value << '
' ; cout << "sam:" << is_polymorphic<sam>::value << '
' ; cout << "raj:" << is_polymorphic<raj>::value << '
' ; return 0;} |
Выход:
is_polymorphic: gfg: false Сэм: правда радж: правда
Хотите узнать о лучших видео и практических задачах, ознакомьтесь с базовым курсом C ++ для базового и продвинутого уровня C ++ и курсом C ++ STL для базового уровня плюс STL. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .