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