这是我的头文件Vector.h我以这种方式构建它,但是讲师说你必须用指针做。如果我输入一些值,程序将崩溃,所以我必须使用指针它应该是* vector而不是数组。我需要你的帮助。
#include <string>
class Vector
{
public:
explicit Vector();
explicit Vector(int);
explicit Vector(int,int);
int getSize();
int getIncrementSize();
void add(int);
friend std::ostream& operator<< (std::ostream& , const Vector& );
//Vector operator<<(Vector);
Vector operator+(Vector);
int operator[](int);
int getElementAt(int);
void setElementAt(int,int);
void insertElementAt(int,int);
void removeElementAt(int);
void removeElement(int);
private:
int initialSize;
int vector[1000];
int incrementSize;
int realincrementSize;
int x;
};
答案 0 :(得分:0)
他可能意味着行int vector[1000];
,如果你想创建一个数组,你还必须手动重新分配内存,以便能够添加超过1000个元素。
所以用std::vector myVector;
答案 1 :(得分:0)
听起来我应该创建一个dynamic array。
在这种情况下,您的第int vector[1000];
行应为int *vector;
。点击链接,然后在实际尝试使用它时询问具体问题。
答案 2 :(得分:0)
而不是
int vector[1000];
,
你可以将'vector`声明为
int* vector;
。
现在要为vector
分配一些内存,请执行
vector = (int*) malloc( 1000 * sizeof(int) ) ;
。
当您不再需要free( vector ) ;
时,请不要忘记vector
。