C++ C+中的数组类+;:如何在另一种方法中使用一种方法

C++ C+中的数组类+;:如何在另一种方法中使用一种方法,c++,C++,我有一个用于执行各种数组操作的类。我喜欢在填充方法中使用insert方法。 有人能指导我吗?代码如下: #include <iostream> #include <cstdlib> using namespace std; const int MAX=5; class array { private: int arr[MAX]; public: void insert(int pos, int num); void populate(int[

我有一个用于执行各种数组操作的类。我喜欢在填充方法中使用insert方法。 有人能指导我吗?代码如下:

#include <iostream>
#include <cstdlib>
using namespace std;

const int MAX=5;

class array
{
private:
    int arr[MAX];

public:
    void insert(int pos, int num);
    void populate(int[]);
    void del(int pos);
    void reverse();
    void display();
    void search(int num);
};

void array::populate(int a[])
{
    for (int i=0;i<MAX;i++)
    {
        arr[i]=a[i];
    }
}

void array::insert(int pos, int num)
{
    for (int i=MAX-1;i>=pos;i--)
    {
         arr[i] = arr[i-1];
         arr[i]=num;
    }
}


void array::del(int pos)
{
    for (int i=pos;i<MAX;i++)
    {
        arr[pos]=arr[pos + 1];
    }
}

void array::display()
{
    for (int i=0;i<MAX;i++)
        cout<<arr[i];
}


void array::search(int num)
{
    for (int i=0;i<MAX;i++)
    {
        if (arr[i]==num)
        {
            cout<<"\n"<<num<<" found at index "<<i;
            break;
        }
        if (i==MAX)
        {
            cout<<num <<" does not exist!";
        }
    }
}

int main()
{
    array a;

    for (int j=0;j<MAX;j++)
    {
        a.insert(j,j);
    }

    a.populate(a);

    a.insert(2,7);

    a.display();

    a.search(44);

    system("pause");
}
#包括
#包括
使用名称空间std;
常数int MAX=5;
类数组
{
私人:
int-arr[MAX];
公众:
无效插入(int pos,int num);
空填充(int[]);
void del(内部位置);
无效反向();
void display();
无效搜索(int num);
};
void数组::填充(int a[])
{
对于(int i=0;i=pos;i--)
{
arr[i]=arr[i-1];
arr[i]=num;
}
}
无效数组::del(int-pos)
{

对于(int i= pOS;i请详细说明您的问题。如果您只需要一个好的容器,请看STL(标准模板库)STD::vector。它是C++标准的一部分,附带编译器。

如果您想学习如何编写自定义类,请尽量在问题中更加精确

还考虑网络上提供的初学者教程的丰富性,例如:

下面是一个小示例,介绍如何编写一个自定义类,其中一个成员函数调用另一个成员函数并访问私有数据成员(请注意,在成员函数中,您可以直接引用任何其他成员):

#包括
课例
{
私人:
输入一些私密的东西;
公众:
示例();
空函数_a();
空洞函数_b();
};
示例::示例(){
一些私人物品=1;
}
void示例::函数_a(){
标准::cout
我喜欢在我的应用程序中使用insert方法
填充方法。有人能指导我吗
关于这个

这意味着,您不需要直接而高效的“从一个数组复制到另一个数组”方法,而是使用正确的索引来代替赋值,为输入的每个值调用insert

要从方法内部对当前实例调用方法,请执行以下操作:

insert(x, y);
//or
this->insert(x, y);

您的代码还包含一个错误,因为您在main中传递了一个错误的类型来填充。它期望
int*
(一个实数组),不是一个
数组
对象。

有人修复了格式设置::p您发布的代码显示不正确。您能修复它吗?这么说-为什么不使用std::vector而不是自定义类?老实说,在我看来更像是一个类ArrayList;-)方法insert()和del()似乎更像列表而不是数组。Maxood,如果这是家庭作业,请将其标记为家庭作业。如果不是,请使用
std::vector
。您正在“重新发明轮子”-使用STL vector类或承认这是家庭作业。
insert(x, y);
//or
this->insert(x, y);