炸鸡叔GUS 2014-12-16 14:34 采纳率: 33.3%
浏览 1958
已采纳

一个最简单的顺序表,只有构造函数和打印,用数组作为参数,但无法运行

//新建seqlist.h 定义类模板
#ifndef seqlist_h
#define seqlist_h

const int maxsize=10;

template
class Seqlist
{
public:
Seqlist(){length = 0;}
Seqlist(DataType a[],int n);
//~Seqlist();
int Length(){return length;}
void Printlist();
private:
DataType data[maxsize];
int length;
};
#endif
//新建一个seqlist.cpp 定义成员函数
#include
using namespace std;
#include "seqlist.h"

template
Seqlist::Seqlist(DataType a[],int n)
{
if(n>maxsize)throw"参数非法";
for(int i=0;i<n;i++)
data[i]=a[i];
length=n;
}

template
void Seqlist::Printlist()
{
for(i=0;i<n;i++)
cout<<data[i];
}

//新建seqlist_main 定义主函数
#include
using namespace std;
#include "seqlist.h"

void main()
{
int i,z[10];//*p;
cout<<"请输入十个数:";
for(i=0;i cin>>z[i];
//p=z;
Seqlist Seq(z[10],10);

cout<<endl;

}

我个人认为是主函数的数组作为实参传递有问题,但我不知道到底哪里错了,求指教。

  • 写回答

2条回答

  • save4me 2014-12-22 04:10
    关注

    Seqlist Seq(z[10],10); 改成 Seqlist Seq(z, 10);,你只要传z给函数就可以了,而不是z[10]

     //新建seqlist_main 定义主函数
    #include <iostream>
    using namespace std;
    
    const int maxsize = 10;
    
    template <class DataType>
    class Seqlist
    {
        public:
        Seqlist(){length = 0;}
        Seqlist(DataType a[], int n);
        ~Seqlist(){};
        int Length(){return length;}
        void Printlist();
    
        private:
        DataType data[maxsize];
        int length;
    };
    
    template <class DataType>
    Seqlist<DataType>::Seqlist(DataType a[], int n)
    {
        if(n > maxsize) throw"参数非法";
        for(int i = 0; i < n; i++)
            data[i] = a[i];
        length = n;
     }
    
    template <class DataType>
    void Seqlist<DataType>::Printlist()
    {
        for(int i = 0; i < length; i++)
        cout<<data[i];
    }
    
    int main()
    {
        int i, z[10];//*p;
        cout<<"请输入十个数:";
        for(i = 0;i < 10; i++) cin>>z[i];
        //p=z;
        Seqlist<int> Seq(z, 10);
        Seq.Printlist();
        cout<<endl;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 arduino控制ps2手柄一直报错
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 求chat4.0解答一道线性规划题,用lingo编程运行,第一问要求写出数学模型和lingo语言编程模型,第二问第三问解答就行,我的ddl要到了谁来求了
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题