최대 1 분 소요

1. is_abstract

template< class T >
struct is_abstract;
  • T가 추상 클래스인 경우 멤버 상수 값을 true를 제공, 아닌 경우 false
    • 추상 클래스: 하나 이상의 순수 가상 함수를 선언 또는 상속하는 클래스

2. 코드로 알아보기

#include <iostream>
#include <type_traits>
 
struct A {
  int m;
};
 
struct B {
  virtual void foo();
};
 
struct C {
  virtual void foo() = 0;
};
 
struct D : C {};
 
int main()
{
  std::cout << std::boolalpha;
  std::cout << std::is_abstract<A>::value << '\n';  // false
  std::cout << std::is_abstract<B>::value << '\n';  // false
  std::cout << std::is_abstract<C>::value << '\n';  // true
  std::cout << std::is_abstract<D>::value << '\n';  // true
}

참고

cppreference


This is personal diary for study documents.
Please comment if I'm wrong or missing something else 😄. 

Top

댓글남기기