📄 enhancedsafearray.h
字号:
#ifndef EnhancedSafeArray_H
#define EnhancedSafeArray_H
#include <iostream>
using namespace std;
#include"safearray.h"
template<class T>
class EnhancedSafeArray:public SafeArray<T>{
public:
//defualt constructor
EnhancedSafeArray(void);
//single-parameter constructor
EnhancedSafeArray(int size);
//Copy constructor
EnhancedSafeArray(EnhancedSafeArray& array_1);
//function size
int size(void) const;
//overload operator ("=")
void operator =( EnhancedSafeArray & array_2);
//overload operator ("==")
bool operator ==( EnhancedSafeArray &array_3);
};
//defualt constructor
template<class T>
EnhancedSafeArray<T>::EnhancedSafeArray(void) : SafeArray() {}
//single-parameter constructor
template<class T>
EnhancedSafeArray<T>::EnhancedSafeArray(int count) : SafeArray<T>(count) {}
//Copy constructor
template<class T>
EnhancedSafeArray<T>::EnhancedSafeArray(EnhancedSafeArray<T>& array_1) {
count = array_1.size();
storage = new T[count];
for(int i=0; i<count; i++) {
storage[i] = array_1[i];
}
}
//function size
template<class T>
int EnhancedSafeArray<T>::size() const {
return count;
}
//overload operator ("=")
template<class T>
void EnhancedSafeArray<T>::operator=( EnhancedSafeArray & array_2) {
delete []storage;
count=array_2.size();
storage=new T[count];
for(int i = 0; i < count; i++)
{
storage[i] = array_2[i];
}
}
//overload operator ("==")
template<class T>
bool EnhancedSafeArray<T>::operator==( EnhancedSafeArray & array_3) {
if (count != array_3.size())
return false;
for(int i = 0; i < array_3.size(); i++) {
if(storage[i] != array_3[i])
return false;
}
return true;
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -