[C++ 소스] 동적 배열(템플릿 클래스)
//템플릿 클래스 내부에 멤버 메서드 구현
//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++ > 디딤돌 C++' 카테고리의 다른 글
[C++ 소스] 구성 관계(Composition Relation), 사람과 눈 (0) | 2016.12.18 |
---|---|
[C++ 소스] 집합 관계(Aggregation Relation), 필통과 연필 (0) | 2016.12.18 |
[C++ 소스] 최대값 위치 찾기(전역 template 함수) (0) | 2016.12.17 |
[C++ 소스] string 클래스 내부 (0) | 2016.12.16 |
[C++ 소스] 개체 출력자 (0) | 2016.12.16 |