怎样创建一个c++对象数组啊?请高手解答。谢谢了
怎样创建一个c++对象数组啊?
[解决办法]
内置类型数组可以这样创建: int array[10];
刚刚测了一下,如果这个array是全局变量,那么array的全部元素被初始化为0;
如果array是类的普通的成员变量或者函数内的局部变量,array的所有元素会随即初始化某个值;
如果array是类的静态变量,则需要程序员手动初始化,否则当调用array时,会提示链接错误。
好吧,废话好多。
如果你要创建某个“类”的数组,一般是这样: Apply applyArray[10];
如果仅仅是这样写的,那么Apply需要一个默认构造函数(就是没有参数的构造函数)。
如果你要这样创建数组:Apply applyArray[2] = {apple1, apple2};
那么Apply需要一个“可用的”拷贝构造函数。
如果你要这样创建数组:Apply arrayApply[10000] = {apple1, apple2};
那么Apply类即需要 默认构造函数 , 也需要 拷贝构造函数 。
[解决办法]
#include<iostream>
using namespace std;
class point
{
public:
void setpoint(int x,int y);
private:
int x;
int y;
};
void point::setpoint(int x,int y)
{
this->x=x;
this->y =y;
}
int main()
{
point a[10]; //定义一个数组对象,调用带参构造函数
int x,y;
cin>>x>>y;
a[0].setpoint(x,y); //第一个对象调用方法setpoint,修改该点的坐标
return 0;
}