Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
bessdsv

Шаблон класса динамического массива

24.04.2010, 23:27. Показов 1146. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть код написанный для c++ Builder (ну я думаю среда не важна). Есть задача написать шаблон класса динамического массива. Вроде бы все написал правильно но вот на строчке ShowMessage(StudGroup[0]->GetFIO()); компилятор пишет что такого свойства нет такое ощущение что StudGroup[0] - принадлежит к типу TStudGroup и по этому не видет метода описанного в классе TSudent. Если же писать StudGroup->Items[0]->GetFIO(); то все отрабатывает без проблем. но задача как раз состоит в написании шаблона и чтобы описанная выше конструкция с оператором [] срабатывала. Подскажите что написал не так.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
class TStudent{
  public:
    AnsiString Fam, Name, Otc, Fac;
    TDate BDate;
    TStudent(AnsiString iFam, AnsiString iName, AnsiString iOtc, AnsiString iFac, TDate iDate);
    AnsiString GetFIO();
};
 
TStudent::TStudent( AnsiString iFam,  AnsiString iName, AnsiString iOtc, AnsiString iFac, TDate iDate){
  Name = iName;
  Fam = iFam;
  Otc = iOtc;
  Fac  = iFac;
  BDate = iDate;
}
 
AnsiString TStudent::GetFIO(){
  return Fam + ' ' + Name.SubString(1, 1) + ". " + Otc.SubString(1,1) + '.';
}
 
template <class C>
class DArray {
  public:
    C** Items;
    int Count;
    DArray(){
      Count = 0;
      Items = new C*[Count];
    };
    int Add(C* Item){
      Items = (C**)ReallocMemory(Items, (++Count) * sizeof(C));
      Items[Count - 1] = Item;
    }
    C& operator [](int Index){
      return Items[Index];
    }
    C& operator =(C** Els){
      Items = (C**)ReallocMemory(Items, (Els->Count) * sizeof(C));
      for (int i = 0; i < Els->Count; i++)
        Items[i] = Els[i];
    }
};
 
typedef DArray<TStudent> TStudGroup;
 
TForm1 *Form1;
TStudGroup *StudGroup;
 
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
 
void __fastcall TForm1::FormCreate(TObject *Sender)
{
  TStudent* Student;
  StudGroup = new TStudGroup;
  Student = new TStudent("Иванов", "Иван", "Иванович", "Математический", StrToDate("06.01.1988"));
  StudGroup->Add(Student);           
  ShowMessage(StudGroup[0]->GetFIO());
}
 
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
  delete[] StudGroup;
}
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.04.2010, 23:27
Ответы с готовыми решениями:

Проблема с созданием объекта динамического массива Класса
Пишу в С++Builder 6. При работе программы вылетает ошибка на строке BookS = Buf; //Внесение данных в динамический массив.. Ошибка...

Создание динамического массива и его инициализация в конструкторе класса
A1uk, ПравилаИзначальное название темы: &quot;Помогите исправить код&quot;. Доброго времени суток. Помоги отредактировать задачу... Необходимо...

Шаблон класса
Всем привет! При компиляции в BuildrXE при следующем вызове из программы: ... Test&lt;int&gt; *def = new Test&lt;int&gt;; if(...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.04.2010, 23:27
Помогаю со студенческими работами здесь

Разработать шаблон класса структуры данных
Доброго времени суток! Помогите кто чем может, кто советом, кто кодом, вообщем вот что требуется: Разработать шаблон класса...

Удаление динамического массива
создаю динамический массив туда пишутся данные(кол-во неизвестно), по нажатию кнопки, над динамическим массивом совершаются...

Размерность динамического массива
Привычка использования массивов в php сподвигла меня использовать подобную конструкцию в с++ AnsiString mustbeFields = { ...

Обнуление динамического массива
Есть какой-нибудь хитрый способ обнулить динамический массив? Кроме циклов?)

Удаление динамического массива
Создал VCL Forms Application в Builder C++ XE4. При написании алгоритма встал такой вопрос: создаётся динамический массив допустим при...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru