⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 enhancedsafearray1.h

📁 ssd5 数据结构与算法 EXAM1 敬请参考下
💻 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 + -