Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Запрет вызова конструктора родителя / 9 сообщений из 9, страница 1 из 1
27.08.2019, 20:28
    #39854380
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрет вызова конструктора родителя
Есть такой код
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
type
  TClass1 = class
  public
    constructor Create; overload;
    constructor Create(AVal: Integer); overload;
  end;

  TClass2 = class(TClass1)
  public
    constructor Create(const AStr: string); overload;
    constructor Create(const AStr: string; AVal: Integer); overload;
  end;

procedure TForm1.Button1Click(Sender: TObject);
var
  LObj: TClass1;
begin
  LObj := TClass2.Create(10);
end;


Можно ли как-то на выделенной строке получить ошибку компиляции? Т.к. у TClass2 нет перегруженного конструктора принимающего один Integer.

Или какие еще есть способы передать в конструкторы потомка еще один параметр?

С уважением, Vasilisk
...
Рейтинг: 0 / 0
27.08.2019, 20:57
    #39854389
ziv-2014
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрет вызова конструктора родителя
_Vasilisk_,
Пробуй виртуальные конструкторы.
...
Рейтинг: 0 / 0
28.08.2019, 12:58
    #39854585
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрет вызова конструктора родителя
ziv-2014Пробуй виртуальные конструкторы.Мне же нужно изменять количество параметров
...
Рейтинг: 0 / 0
28.08.2019, 13:05
    #39854589
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрет вызова конструктора родителя
_Vasilisk_Можно ли как-то на выделенной строке получить ошибку компиляции?

Задвинь этот конструктор в protected.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
28.08.2019, 13:09
    #39854592
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрет вызова конструктора родителя
Dimitry SibiryakovЗадвинь этот конструктор в protected.Думал об этом. Но базовый класс тоже нужно инстанцировать
...
Рейтинг: 0 / 0
28.08.2019, 13:15
    #39854604
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрет вызова конструктора родителя
_Vasilisk_Но базовый класс тоже нужно инстанцировать

Не нужно. Сделай у него ещё одного потомка с опубликованным конструктором.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
28.08.2019, 13:29
    #39854620
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрет вызова конструктора родителя
Dimitry SibiryakovСделай у него ещё одного потомка с опубликованным конструктором.Вариант. Спасибо
...
Рейтинг: 0 / 0
28.08.2019, 13:54
    #39854638
DimaBr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрет вызова конструктора родителя
Dimitry SibiryakovЗадвинь этот конструктор в protected.

Понижение видимости ?
...
Рейтинг: 0 / 0
28.08.2019, 13:59
    #39854643
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрет вызова конструктора родителя
DimaBrПонижение видимости ?

Нет. Он же overload, а не override.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Запрет вызова конструктора родителя / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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