Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Классы / 5 сообщений из 5, страница 1 из 1
27.01.2018, 08:11
    #39592069
Miracle9
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Классы
Код: pascal
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.
unit Unit2;

interface

uses
  SysUtils, Dialogs, Generics.Collections;

type
  TMainClass = class
    A: integer;
    B: integer;
  end;

  TAddClass1 = class(TMainClass)
    function Calc: integer;
    Constructor Create;
  end;

  TAddClass2 = class(TMainClass)
    function Calc: integer;
    Constructor Create;
  end;

var
  List: TList<TMainClass>;

implementation

Constructor TAddClass1.Create;
begin
  A := 1;
  B := 2;
end;

function TAddClass1.Calc: integer;
begin
  Result := A + B;
end;

Constructor TAddClass2.Create;
begin
  A := 1;
  B := 2;
end;

function TAddClass2.Calc: integer;
begin
  Result := A * B;
end;

begin
  List := TList<TMainClass>.Create;
  List.Add(TAddClass1.Create);
  List.Add(TAddClass2.Create);
  List[0].Calc;
end.



Есть главный класс, и два дополнительных класса наследуемые от главного.
Нужно добавить их в TList, и чтобы можно было вызвать функцию Calc.
...
Рейтинг: 0 / 0
27.01.2018, 08:37
    #39592073
Miracle9
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Классы
Можно через
Код: pascal
1.
2.
 
(List[0] as TAddClass1).Calc;


но это немного не то
...
Рейтинг: 0 / 0
27.01.2018, 09:00
    #39592080
Miracle9
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Классы
Разобрался, надо использовать virtual; override;
Как говориться - учите мат часть) прежде чем идти на форум)
...
Рейтинг: 0 / 0
27.01.2018, 13:50
    #39592143
asutp2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Классы
Miracle9Разобрался, надо использовать virtual; override;
Как говориться - учите мат часть) прежде чем идти на форум)
ШТА?!
...
Рейтинг: 0 / 0
27.01.2018, 17:51
    #39592210
Vizit0r
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Классы
asutp2Miracle9Разобрался, надо использовать virtual; override;
Как говориться - учите мат часть) прежде чем идти на форум)
ШТА?!

ну, побеседовал он с умным человеком, что тут такого )

Я тоже пару раз сюда писал, а потом стирал почти написанный пост, потому что ответ сообразил в процессе написания.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Классы / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]