Че-то не могу додумать...

Модераторы: Romeo, Hawk, Absurd, WinMain, DeeJayC

Hup
Сообщения: 207
Зарегистрирован: 05 мар 2004, 05:31
Откуда: Владивосток
Контактная информация:

24 сен 2004, 02:50

Что-то застопорился на вот таком приколе...

Пусть есть класс

Код: Выделить всё

public class dta
{
      public bool use = false;
      public string name = "zero";
      public string summ = "zero"
      public dta
      {
      }
}
Потом в статической ф. Main
хочу создать одномерный массив объектов

Код: Выделить всё

//Например
dta [] cdata = new dta [100];
Вроде бы все нормально, но когда начиаю работать с этим массивом, вылетает ошибка... Что-то типа: Object referenses not set...(пару ошибок почно допустил :) )

Код: Выделить всё

// вот ошибочный код
cdata[n].name = xls.GetName(n+1);
//xls.GetName(int i); --- ф. возвращающая string
Усложнять - легко, упрощать - сложно
OD
Сообщения: 1
Зарегистрирован: 24 сен 2004, 05:35
Откуда: Алма-Ата
Контактная информация:

24 сен 2004, 05:48

:) Надо говорить не "Ну есть класс", а на какой он вобще нужен.
Первична задача, потом решение. Класс не эстетичен, много лишнего, а ошибка в неправильном объявлении массива (если ты на С++ пишешь) :wink:
Зри в корень.
Absurd
Сообщения: 1213
Зарегистрирован: 26 фев 2004, 13:24
Откуда: Pietari, Venäjä
Контактная информация:

24 сен 2004, 09:25

Наследование не используется?
2B OR NOT(2B) = FF
Hup
Сообщения: 207
Зарегистрирован: 05 мар 2004, 05:31
Откуда: Владивосток
Контактная информация:

24 сен 2004, 09:46

OD!
Во-первых: Не придирайся к словам/
Во-вторых: Задача слишком громоздкая, чтобы ее описывать полностью(никому это не интересно)
В-третьих: Помоему ты вообще не знаком с ООП
В-четвертых: Я уже смело могу утвержать, что с С++ ны не знаком вообще...
Даже начинающий скажет, что это точно не С++
Для просвещения... Это С#
Усложнять - легко, упрощать - сложно
Kolinus
Сообщения: 449
Зарегистрирован: 23 авг 2004, 14:02
Откуда: Минск

24 сен 2004, 11:35

А одиночный объект создается нормально ?
Может дело не в массиве а в классе?
А массив не пробывал по статическому индексу вызывать ??
А xls проинициализирован конкретно.
(Я 0 в С# просто с точки зрения любого языка все нормально) так что может дело все-таки не в массиве ?
В SAD - все в SAD.
Hup
Сообщения: 207
Зарегистрирован: 05 мар 2004, 05:31
Откуда: Владивосток
Контактная информация:

24 сен 2004, 11:58

Вообщем мне подсказали ответ... Приятель Romeo, за что ему спасибо
Нехватало вот чего

Код: Выделить всё

dta [] cdata = new dta[size];
for(int i=0; i < size; i++) cdata[i] = new dta();
Усложнять - легко, упрощать - сложно
Kolinus
Сообщения: 449
Зарегистрирован: 23 авг 2004, 14:02
Откуда: Минск

24 сен 2004, 12:08

Вот млин все как в Яве - зачем тогда он нужен этот самый С#??
В SAD - все в SAD.
Hup
Сообщения: 207
Зарегистрирован: 05 мар 2004, 05:31
Откуда: Владивосток
Контактная информация:

24 сен 2004, 12:16

Я руководствовался опытом, полученным из С++, а тут такая подстава... Обидно, млин
Усложнять - легко, упрощать - сложно
Absurd
Сообщения: 1213
Зарегистрирован: 26 фев 2004, 13:24
Откуда: Pietari, Venäjä
Контактная информация:

24 сен 2004, 12:17

Всего месяц пишу на Яве, а уже C++ забыл =(
2B OR NOT(2B) = FF
Kolinus
Сообщения: 449
Зарегистрирован: 23 авг 2004, 14:02
Откуда: Минск

24 сен 2004, 12:24

Значит сильно эффективная практика )).
Мне компилятор сишный тоже на System.out.println() ругается
В SAD - все в SAD.
Ответить