📄 enhancedsafearray.h
字号:
//This is the exam one of ssd5.
//The author is liqinwei.
//2007_11_1.
#ifndef ENHANCEDSAFEARRAY_H
#define ENHANCEDSAFEARRAY_H
#include "safearray.h"
using namespace std;
template <class T>
class EnhancedSafeArray : public SafeArray<T>
{
public:
//default constructor
EnhancedSafeArray(void);
//single-parameter constructor
EnhancedSafeArray(int);
//Copy constructor
EnhancedSafeArray(const EnhancedSafeArray&);
//Returns the number of elements stored
int size(void) const;
//assignment operator("=")
EnhancedSafeArray<T> operator = (const EnhancedSafeArray &);
//equality test operator("==")
bool operator ==(const EnhancedSafeArray &);
};
//default 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(const EnhancedSafeArray<T> &en)
{
count = en.count;
storage = new T[count];
for(int i=0; i<count; i++)
{
storage[i] = en.storage[i];
}
}
//Returns the number of elements stored
template <class T>
int EnhancedSafeArray<T>::size(void) const
{
return count;
}
//assignment operator("=")
template <class T>
EnhancedSafeArray<T> EnhancedSafeArray<T>::operator = (const EnhancedSafeArray<T> &en)
{
if( this != &en)
{
if(storage != NULL)
{
delete []storage;
}
count = en.count;
storage = new T[count];
for(int i=0; i<count; i++)
{
storage[i] = en.storage[i];
}
}
return *this;
}
//equality test operator("==")
template <class T>
bool EnhancedSafeArray<T>::operator ==(const EnhancedSafeArray<T> &en)
{
if(count==en.count)
{
for(int i=0; i<count; i++)
{
if(storage[i] != en.storage[i])
{
return false;
}
}
return true;
}
else return false;
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -