C++/디딤돌 C++

[C++ 소스] 동적 배열(템플릿 클래스)

언제나휴일 2016. 12. 17. 19:31
반응형

[C++ 소스] 동적 배열(템플릿 클래스)


EHArray.h

Program.cpp



//템플릿 클래스 내부에 멤버 메서드 구현

//EHArray.h

#pragma once

template <typename data>

class EHArray

{

    data *base;

    const size_t bsize;

public:

    EHArray(size_t bsize):bsize(bsize)

    {

        base = new data[bsize];

        for(int i = 0; i<bsize;++i)

        {

            base[i]=0;

        }

    }

 

    ~EHArray()

    {

        delete[] base;

    }

 

    data &operator[](size_t index)

    {

        if((index>=0)&&(index<bsize))

        {

            return base[index];

        }

        throw "인덱스가 범위를 벗어났습니다.";

    }

};



//Program.cpp

#include <iostream>

using namespace std;

 

#include "EHArray.h"

typedef EHArray<int> IntArray; //템플릭 형식 int EHArray IntArray로 타입명 지정

 

int main()

{

    IntArray arr(10); //크기가 10 IntArray 선언

 

    arr[2]=9;

    arr[4] = 20;

    for(int i = 0; i<10;i++)

    {

        cout<<arr[i]<<" ";

    }

    cout<<endl;

    return 0;

}



실행 결과

0 0 9 0 20 0 0 0 0 0



본문

[디딤돌 C++] 60. 템플릿 클래스




반응형