【急】【高悬赏】【求助】【C++高手请进】一维数组类模板设计与实践

来源:百度知道 编辑:UC知道 时间:2024/06/11 01:38:48
哥哥姐姐们,妹妹如果交不了这道题的话就没法参加期末考试了,哥哥姐姐们帮帮妹妹吧,真的感激不尽了。

【题目】一维数组类模板的设计与实现
【要求】
建立一维数组数据结构的模板类,使一维数组中的数据元素可以是char, int, float等多种数据类型,类中的成员函数主要包括:
【1】排序函数,能够对数组元素进行升序排列;
【2】查找函数,能够在输入待查元素后,输出其在数组中的下标;
【3】构造函数,初始化输入数组元素,这里要求数组元素的个数n是一个变量;
【4】析构函数,释放数组元素所占用的堆内存;
【5】Set函数,可以为指定的数组元素赋值;
【6】Get函数,可以读取指定数组元素的值;
【7】Print函数,可以输出数组元素的值。
【8】编写一个测试该模板类的程序。

template<class Type>
class CTemplateArray
{
public:
CTemplateArray(int Number);
~CTemplateArray(void);
int FindIndex(const Type& _date);
void Sort();
void Set(int Index, const Type& _date);
Type Get(int Index);
void Print();
private:
Type* m_pArray;
int m_Number;
};

template<class Type>
CTemplateArray<Type>::CTemplateArray( int Number )
: m_Number(Number)
{
m_pArray = new Type[Number];
}

template<class Type>
CTemplateArray<Type>::~CTemplateArray( void )
{
if(m_pArray != NULL)
{
delete m_pArray;
m_pArray = NULL;
}
}

template<class Type>
void CTemplateArray<Type>::Print()
{
//由于我不知道你的输出是什么形式的,所以没法写。
}
template<class Type>
Type CTemplateArray<Type>::Get( int Index )
{
assert(Index < m_Number);
return