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

📄 enhancedsafearray.h

📁 ssd5 exam1需要的自己下载 ssd5 exam1需要的自己下载
💻 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 + -