ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 템플릿 실습
    카테고리 없음 2013. 3. 9. 16:56
    반응형



    // 템플릿 테스트.cpp : 콘솔 응용 프로그램에 대한 진입점을 정의합니다.

    //


    #include "stdafx.h"

    #include "cData.h"


    int _tmain(int argc, _TCHAR* argv[])

    {

    cData<int> Ob_cData(10);<사용자가 입력한 타입>에 따라서 데이터의 타입이 달라진다. 


    Ob_cData.SetData(10);


    cout<<Ob_cData.GetData()<<endl;



    Ob_cData.ShowInfo();


    cData<double> Ob2(2.3);


    Ob2.ShowInfo();

    Ob2.SetData(3.2);

    Ob2.ShowInfo();



    return 0;

    }



    ================================================================================

    #pragma once

    template <typename T>

    class cData

    {

    private:

    T data;

    public:

    cData(T _data);


    void SetData(T _data);

    T GetData(void);


    ~cData(void){};


    void ShowInfo(void);

    };

    //템플릿 클래스의 맴버함수는 절대로 파일 분할로 구현하면 안된다

    //따라서 헤더 파일항에 몸체까지 같이 구현해준다.

    template <typename T>

    cData<T>::cData(T _data)

    :data(_data)

    {


    }


    template <typename T>

    void cData<T>::SetData(T _data)

    {

    data =this->data+ _data;

    }


    template <typename T>

    T cData<T>::GetData()

    {

    return data;

    }

    template <typename T>

    void cData<T>::ShowInfo(void)

    {

    cout<<data<<endl;

    }


    ============================================================================


    반응형
Designed by Tistory.