gpt4 book ai didi

c++ - 在类中声明一个数组。 C++

转载 作者:太空宇宙 更新时间:2023-11-04 15:11:21 27 4
gpt4 key购买 nike

我想创建一个初始化数组的类,以及一个将元素添加到数组而不是打印它的函数 push。作为初学者,我知道初始化有问题,除了函数 push 之外一切正常,它不打印数组。我的类(class)有什么问题?

#include <iostream>

class pile{
public :
int n;
int p[]={};
pile(int m){
n=m;
std::cout<<"Contructor is up .. ";
}

int init(int n){
int z=n-1;
for(int i;i<=z;i++){
std::cin>>p[i];
}
}

int push(int n, int x){
int y=n-1;
int p[]={};
p[n]=x;
for(int u=0;u<=n;u++){
std::cout<<p[u]<<" ";
}
}


};

int main(){
int a;
std::cout<<"How many integers does your array got ? >> ";
std::cin>>a;

pile p1(a);
std::cout<<"\nEnter your array's integers >> ";
p1.init(a);
int j;
std::cout<<"\nInteger that you want to add to the array ? >> ";
std::cin>>j;
std::cout<<"\nThe new array is >> ";
p1.push(a,j);

return 0;
}

最佳答案

I want to create a class that initialize an array,

具有数组成员和值初始化的类示例:

struct foo {
int member[10] = {};
};

What's wrong with my class ?

这是错误的:

int p[]={};

首先,一个成员不能是一个未指定长度的数组,即使它有一个初始化器。其次,没有变量可以是零长度数组。

and a function push that adds an element to the array than print it

无法将元素添加到数组中。数组在其整个生命周期中具有固定数量的元素。

您可能正在寻找一种数据结构,它可以动态分配一个数组,并在添加更多元素时将元素复制到一个新的更大的数组中。除了这个简洁的描述之外,数据结构还有更多内容。有一个标准容器实现了这个“可调整大小的数组”数据结构:std::vector

关于c++ - 在类中声明一个数组。 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58454973/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com