qq_38372518 2017-09-20 14:17 采纳率: 100%
浏览 1427
已采纳

C++类中整形数组赋值问题。

声明并实现一个整型数组类,内部封装一个整型数组(int a[10]),要求能顺序打印数组中的各个元素,统计各个元素之和、均值、最大值、最小值和中值,并在main()中测试该类。

 #include <iostream>
using namespace std;

class Array{
public:
    Array();
    Array(int a[10]);
    Array(Array &a);
    void print();
    void min();
    void max();
    void ave();
    void mid();
    void set();
private:
    int A[10];
};
void Array::set ()
{
    for(int i = 0;i <= 10;i++)
    {
        cin >> A[i];
    }
}

Array::Array(int a[10])
{
    for (int i = 0; i <= 10; i++)
    {
        A[i] = a[i];
    }
}
Array::Array(Array &a)
{
    for (int i = 0; i <= 10; i++)
        {
            A[i] = a.A [i];
        }
}
void Array::print ()
{
    for(int i = 0; i <= 10; i++)
    {
        cout<<A[i]<<" ";
    }
    cout <<endl;
}
void Array::ave ()
{
    cout <<"ave = "<<(A[0]+A[1]+A[2]+A[3]+A[4]+A[5]+A[6]+A[7]+A[8]+A[9]+A[10])/11<<endl;
}
void Array::max ()
{
    int temp;
    for(int i = 0; i < 10; i++)
    {
        if(A[i] > A[i+1])
        {
            temp = A[i];
            A[i] = A[i + 1];
            A[i+1] = temp;
        }
    }
    cout << A[10] <<endl;
}
void Array::min ()
{
    int temp;
    for(int i = 0;i < 10;i++)
    {
        if(A[i] < A[i+1])
        {
            temp = A[i];
            A[i] = A[i + 1];
            A[i+1] = temp;
        }
    }
    cout << A[10] <<endl;
}
void Array::mid ()
{
    int temp;
    for (int i = 0;i <= 10;i++)
    {
        for(int i = 0;i < 10;i++)
    {
        if(A[i] < A[i+1])
        {
            temp = A[i];
            A[i] = A[i + 1];
            A[i+1] = temp;
        }
    }
    }
    cout<<A[5]<<endl;
}

int main()
{
    Array a;
    a.set();
    a.print();
    a.max();
    a.min();
    a.ave();
    a.mid();
    return 0;

}

Cpp1.obj : error LNK2001: unresolved external symbol "public: __thiscall Array::Array(void)" (??0Array@@QAE@XZ)
Debug/Cpp1.exe : fatal error LNK1120: 1 unresolved externals
然后出现了这个报错,我都不知道怎么改。。

  • 写回答

2条回答 默认 最新

  • threenewbee 2017-09-21 00:53
    关注
     Array::Array()
    {
    //加上你的代码
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 大米粥哥哥 2017-09-21 01:37
    关注

    楼上正解 你的构造函数只是声明没有实现

    调用你的构造函数的时候不知道如何去执行 所以至少实现一下 哪怕里面没有任何语句
    直接把Array(); 改成 Array(){}; 也可以

    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 shopify网站提速
  • ¥15 深海控制器DSE7320MKII和博世ECU间can通讯知识
  • ¥15 Ru的复折射率用于FDTD 200nm到1200nm
  • ¥15 使用Fiddler抓包,textview的乱码如何解决
  • ¥50 trio连接驱动器报错
  • ¥15 有谁懂nhanes的权重计算啊
  • ¥15 欧姆龙PLC 电机控制 限位
  • ¥30 如何处理shell命令接收到的视频流并实时播放出来
  • ¥15 虚心请教C#的代码优化问题
  • ¥15 有偿求做台风过境全过程模拟仿真