Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
Tags
- backend
- 이웃한 칸
- 프로그램
- java정리
- frontend
- 코스닥
- 백준
- 빅데이터
- 풀스택프레임워크
- java
- 개발자
- 자바독학
- C++
- 코딩독학
- SNS
- Project
- 코딩테스트
- 프로그래머스
- Reflex
- 자바
- 자바정리
- 프로그래밍
- 개발
- 사물인터넷
- 개인프로젝트
- 주가예측
- Python
- 모의 주식
- 코딩
- 코테
Archives
- Today
- Total
Creative Code
safeArray3(template 사용) 본문
※main.cpp 파일
#include <iostream>
#include "safeArray.h"
#include "array.h"
int main() {
int nums1[] = {1,2,3,4,5};
SafeArray arr1(nums1,5);
for (int i = 0; i<5; i++) {
std::cout << "arr1["<<i << "] : " << arr1[i] << std::endl;
}
double nums2[] = {1.1,2.2,3.3,4.4,5.5};
SafeArray arr2(nums2,5);
for (int i = 0; i<5; i++) {
std::cout << "arr2["<<i << "] : " << arr2[i] << std::endl;
}
return 0;
}
※ safeArray.h파일
#ifndef SAFEARRAY_H
#define SAFEARRAY_H
#include <cassert>
#include "array.h"
template <typename T>
class SafeArray:public Array<T> {
private:
public:
explicit SafeArray(int size = Array<T>::getDefaultSize());
SafeArray(const T *pArr, int size);
virtual ~SafeArray(){}
bool operator==(const SafeArray<T>& rhs) const;
virtual T& operator[](int index);
virtual const T& operator[](int index)const;
};
template <typename T>
SafeArray<T>::SafeArray(int size)
:Array<T>(size)
{
}
template <typename T>
SafeArray<T>::SafeArray(const T *pArr, int size)
:Array<T>(pArr,size)
{
}
template <typename T>
bool SafeArray<T>::operator==(const SafeArray<T>& rhs) const {
return this->Array<T>::operator==((Array<T>)rhs);
}
template <typename T>
T& SafeArray<T>::operator[](int index) {
assert(index >= 0 && index < this->Array<T>::size_);
return this->Array<T>::operator[](index);
}
template <typename T>
const T& SafeArray<T>::operator[](int index) const{
assert(index >= 0 && index < this->Array<T>::size_);
return this->Array<T>::operator[](index);
}
#endif
'C++ Programming' 카테고리의 다른 글
swap2(template 함수) (0) | 2023.09.08 |
---|---|
boundArray2(template사용) (0) | 2023.09.08 |
queue4(template사용) (0) | 2023.09.08 |
stack4(template사용) (0) | 2023.09.08 |
array2(template사용) (0) | 2023.09.08 |