赞
踩
根据上一篇博客中举的数组的例子,这篇博客就对其进行继承,再继承一个模板类出来。
下面程序中的searcharray模板就继承了之前的freearray模板类,然后在他的基础上实现对特定数组元素的查找操作:
- //此模板继承自freearray
- template <class T>
- class SearchArray:public FreeArray<T>
- {
- public:
- //构造函数
- SearchArray(int s):FreeArray<T>(s){}
- //拷贝构造函数
- SearchArray(const SearchArray &);
- //查找特定元素
- int findItem(T);
- };
-
- template <class T>
- SearchArray<T>::SearchArray(const SearchArray &obj)
- {
- for(int n=0;n<this->sizeArray();n++)
- this->operator[](n) = obj[n];
- }
-
- template <class T>
- int SearchArray<T>::findItem(T item)
- {
- for(int n=0;n<=this->sizeArray();n++)
- {
- if(this->operator[](n) == item)
- return n;
- }
- return -1;
- }
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
主函数测试:
- //模板类的继承测试
- SearchArray<int> arrInt(10);
-
- int x;
- for(x=0;x<10;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。