| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1551 人关注过本帖
标题:关于引用函数类模板问题 求助大神
取消只看楼主 加入收藏
知白守黑
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2016-12-12
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:0 
关于引用函数类模板问题 求助大神
#include<iostream>
using namespace std;
const int MaxSize=10;  
template <class T>      //定义模板类SeqList
class SeqList
{
public:
   SeqList(){length=0;};     //无参构造函数
   SeqList(int a[],int n);   //有参构造函数
   void Insert(int i, T x);
   T Delete(int i);        //删除线性表的第i个元素
   int Locate(T x );       //按值查找,求线性表中值为x的元素序号
   void PrintList();       //遍历线性表,按序号依次输出各元素
private:
   T data[MaxSize];      //存放数据元素的数组
   int length;            //线性表的长度
};
template <class T>  
SeqList<T>::SeqList(int a[ ], int n)
{
  if (n>MaxSize) throw "参数非法";
  for (i=0; i<n; i++)  
    data[i]=a[i];
  length=n;
}
template <class T>  
void SeqList<T>::Insert(int i, T x)
{
  if (length>=MaxSize) throw "上溢";
    if (i<1 | | i>length+1) throw "位置";
for (j=length; j>=i; j--)
  data[j]=data[j-1];   //注意第j个元素存在数组下标为j-1处
data[i-1]=x;
length++;
}
template <class T>  
T SeqList<T>::Delete(int i)
{
  if (length==0) throw "下溢";
  if (i<1 | | i>length) throw "位置";
  x=data[i-1];
  for (j=i; j<length; j++)
    data[j-1]=data[j];   //注意此处j已经是元素所在的数组下标
  length--;
  return x;
}
template <class T>  
int SeqList<T>::Locate(T x)
{
  for (i=0; i<length; i++)
    if (data[i]==x) return i+1;  //下标为i的元素等于x,返回其序号i+1
  return 0;          //退出循环,说明查找失败
}
int main()
{
 
    SeqList<int>La(int a[],int 10);
    SeqList<int>::Insert(int 1, int 12);
    SeqList<int>::Delete(int 1);
    SeqList::Locate(int 5);
    return 0;

}
这样在主函数引用的话老是报错 修改几次还是发现不了问题 所以来求助大神
搜索更多相关主题的帖子: private include public 线性表 元素 
2017-03-14 20:10
快速回复:关于引用函数类模板问题 求助大神
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017575 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved