标题:作为抽象数据类型数组的问题
只看楼主
fdcumt
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-9-16
结帖率:0
已结贴  问题点数:20 回复次数:1 
作为抽象数据类型数组的问题
#ifndef SHUZU_H
#define SHUZU_H
#include <iostream>
#include <stdlib.h>

template<class T>
class Array
{
private:
    T *elements;          //数组
    int Arraysize;            //元素个数
    void getArray();      //动态分配数组存储空间
public:
    Array(){Arraysize=0;}     //构造函数
    Array(const Array<T>&A);              //复制构造函数
    void InputArray(T *a,int n);
    ~Array(){delete []elements;}      //析构函数
    int Length()const {return Arraysize;}       //取数组长度
     void Resize(int sz );                   //修改数组长度
    void Output()const;
};

template<class T>
void Array<T>::Output() const
{
    int i=0;
    for(i=0;i<10;i++)
    {
        cout<<elements[i];
    }
}

template<class T>
void Array<T>::InputArray( T*a,int n)
{
    Arraysize=n;
    elements=new T[n];
    T *srcptr=a;
    T *destptr=elements;
    while (n--)   *(srcptr++)=*(destptr++);
}

template<class T>
void Array<T>::getArray()
{
    elements=new T[Arraysize];
    if(elements==0) cerr<<"内存分配失败!"<<endl;
}

template<class T>
void Array<T>::Resize(int sz )
{
    if (sz<=0)  cerr<<"数组长度非法!"endl;
    Arraysize=sz;
    getArray();
}

template<class T>
Array<T>::Array(const Array<T> &A)
{
    int nn=A.Arraysize;
    Arraysize=nn;
    elements=new T[nn];
    T *srcptr=A.elements;
    T *destptr=elements;
    while (nn--)   *(srcptr++)=*(destptr++);
}

template<class T>

#endif
#include "shuzu.h"
#include <iostream>
using namespace std;
int main()
{
    Array<int> arr;

    int i=0,a[10];
    for(i=0;i<10;i++)
    cin>>a[i];
    arr.Resize(10);
    arr.InputArray(a,10);
    arr.Output();
    return 0;
}

Error    1    error C2988: unrecognizable template declaration/definition    f:\mine\算法\数组\数组\主函数.cpp    3
Error    2    error C2059: syntax error : 'using'    f:\mine\算法\数组\数组\主函数.cpp    3
Error    3    error C2143: syntax error : missing ';' before '{'    f:\mine\算法\数组\数组\主函数.cpp    5
Error    4    error C2447: '{' : missing function header (old-style formal list?)    f:\mine\算法\数组\数组\主函数.cpp    5

求解呀
搜索更多相关主题的帖子: 空间 elements private include public 
2011-11-11 16:32
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:20 
头文件最后,怎么有个 template<class T> ?
2011-11-11 16:53



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-354986-1-1.html




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

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