Динамический массив объекта - PullRequest
2 голосов
/ 01 июля 2011

Возможно, решение очень простое. Должно быть, но, может быть, я что-то пропускаю

У меня есть:

public class Object {
    public int pos_x;
    public int pos_y;
}

Object testObject[] = new object[10]

, а затем где-то в функции

testObject[1].pos_x = 1;

Это заставляет закрывать мое приложение .. как? и почему? Что может быть причиной этого.

Кроме того. В идеале мне нужно что-то вроде этого

testObject[].add_new_object();
testobject[].remove_item(3);

это можно сделать?

Спасибо за помощь

Ответы [ 2 ]

1 голос
/ 01 июля 2011

Вы выделили массив , который может содержать 10 объектов.

Вам также нужно выделить объекты.

0 голосов
/ 01 июля 2011

Я не уверен насчет языка, который вы используете - если в C # вы не можете использовать «Object» в качестве имени класса.

Сначала создайте пользовательский объект (тип данных 'object'):

public class MyObject {
    public int pos_x;
    public int pos_y;
}

... достаточно, очень простой класс, содержащий координаты.Далее вы хотите создать массив MyObject.Для этого вы объявляете свой массив тип как MyObject[] и предоставляете необязательный размер:

MyObject[] myObjArray = new MyObject[10]; // this gives a zero-based array of 10 elements, from 0-9

Теперь у вас есть задача заполнения массива.Наиболее распространенным методом является использование переменной счетчика, которая насчитывает от 0 до 9, те же элементы, что и в нашем массиве:

for (int i=0; i<=9; i++)
{
    myObjArray[i] = new MyObject();

    // you can also assign the variables' values here
    myObjArray[i].pos_x = GetNextXVal(); // get the X value from somewhere
    myObjArray[i].pos_y = GetNextYVal(); // get the y value from somewhere
}  

В зависимости от вашего языка, я уверен, мы можем указатьнекоторые хорошие учебники, книги или другие ссылки, которые помогут вам начать работу.

Удачного кодирования!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...