Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Унаследование структуры [D7, XP]


Dmitry_177 ©   (2007-03-26 12:08:00) 

Есть структура:

type
 TData = packed record
   a: integer;
   b: array [0..255] of Char;
 end;


Хочу туда добавить еще один параметр, например c: integer;делаю так:

 TNewData = packed record
   a: integer;
   b: array [0..255] of Char;
   c: integer;
 end;


И так не работает.. Подскажите как правильно это сделать? или это вообще никак не делается и нужно просто новую структуру создавать, т.е. так:

 TNewData = class(TData)
   c: integer;
 end;


Kolan   (2007-03-26 12:27:00) [1]


> Так и в Delphi можно.

Без object'а ессно.


Kolan   (2007-03-26 12:27:00) [2]

> спасибо =)

Использовать классы ессно предпочтительнее, тк на 99% гарантирую у тя найдутся методы которые туду можно будет добавить…


Kolan   (2007-03-26 12:26:00) [3]

> Правда там еще в структуры методы можно добавлять :)

Так и в Delphi можно.


Хаванагил   (2007-03-26 12:23:00) [4]

плюсплюсная структуро это все равно что тип object в паскале или где там он был :) там тоже методы можно!


Dmitry_177   (2007-03-26 12:23:00) [5]

спасибо =)


MikePetrichenko   (2007-03-26 12:21:00) [6]

А в сях делается, что очень удобно. Правда там еще в структуры методы можно добавлять :)


Kolan   (2007-03-26 12:18:00) [7]

Наследовать структуры НЕЛЬЗЯ.
— Используй класс.


_Аноним   (2007-03-26 12:18:00) [8]

Для структур - не делается.
Или делай "предка" классом, или дублируй поля
или держи первую структуру во второй:

TNewData = packed record
 Data: TData;
 c: integer;
end;


_Аноним   (2007-03-26 12:18:00) [9]

Для структур - не делается.
Или делай "предка" классом, или дублируй поля
или держи первую структуру во второй:

TNewData = packed record
 Data: TData;
 c: integer;
end;


Dmitry_177   (2007-03-26 12:15:00) [10]

извените меня, перепутал немного с вопросом, вот правильно так будет:

Есть структура:

type
TData = packed record
  a: integer;
  b: array [0..255] of Char;
end;


Хочу туда добавить еще один параметр, например c: integer; делаю так:

TNewData = class(TData)
  c: integer;
end;


И так не работает.. Подскажите как правильно это сделать? или это вообще никак не делается и нужно просто новую структуру создавать, т.е. так:

TNewData = packed record
  a: integer;
  b: array [0..255] of Char;
  c: integer;
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо