[C++]template을 이용해 클래스 작성할 때 멤버변수 초기화

jh Seo·2022년 10월 22일
0

C++공부

목록 보기
8/21

개요

큐 클래스를 구현해보던 중

template<typename T>

을 사용해 클래스를 구현했는 데, 멤버변수를 T var이라고 선언을 했다.

하지만 생성자에서 초기화를 해주고 싶은데 어떻게 해야할지 몰랐다.

방법

  1. 명시적으로 기본 생성자 호출하는 방법
   template<typename T>
    void foo()
    {
      T x = T();//기본형이면 0또는 false를 갖는다
    }

이런식으로 T x= T();와 같은 형식으로 초기화가 가능하다.

  1. 클래스에서 생성자가 호출될 때 기본 생성자 정의
    template <typename T>
    class MyClass
    {
    private:
      T x;
    public:
      MyClass() : x()  //기본형 x초기화 된다
      {}
    };

레퍼런스

링크

profile
코딩 창고!

0개의 댓글