Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.16;
Скачать: CL | DM;

Вниз

Помогите с ООП   Найти похожие ветки 

 
_qq   (2003-10-07 12:42) [0]

Есть такой код:

TBaseClass = class
.
.
constructor Create;
end;

TClass1 = class(TBaseClass)
.
.
constructor Create;
end;

TClassOf = class of TBaseClass;
.
.

constructor TBaseClass.Create;
begin
inherited ;
MessageDlg("This is TBaseClass", mtWarning, [mbOK], 0);
end;

constructor TClass1.Create;
begin
inherited ;
MessageDlg("This is TClass1", mtWarning, [mbOK], 0);
end;

procedure CreateNew(T: TClassOf);
begin
T.Create;
end;

Вызываем CreateNew вот так:

CreateNew(TClass1);

а вызывается конструктор TBaseClass.Create. (В смысле конструктор TClass1.Create НЕ вызывается вообще).
Что не так? А как так?


 
Семен Сорокин ©   (2003-10-07 12:44) [1]

Что не так?
TClassOf = class of TBaseClass;
А как так?
TClassOf = class of TClass1;


 
PVOzerski ©   (2003-10-07 12:44) [2]

конструктор TBaseClass.Create сделайте virtual, TClass1.Create - override.


 
Skier ©   (2003-10-07 12:45) [3]

>_qq (07.10.03 12:42)
А такие "слова" как virtual и override не пытался использовать ?


 
Семен Сорокин ©   (2003-10-07 12:47) [4]

Проглядел, да virtual конечно нужен в базовом классе


 
Reindeer Moss Eater ©   (2003-10-07 12:47) [5]

TBaseClass наследник TObject.
У него конструктор статический.
То есть вызов конструктора зависит от ТИПА переменной Т и не завсит от того, на экземпляр какого класса она указывает.


 
_qq   (2003-10-07 12:52) [6]

Many thanx.
Проглядел описание конструктора для TBaseClass (оно у меня в коде отсутствовало).
Сорри что отвлек.



Страницы: 1 вся ветка

Текущий архив: 2003.10.16;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.019 c
14-51501
Омлет
2003-09-28 00:33
2003.10.16
Именинники 28 сентября!


3-51137
dtm
2003-09-23 17:51
2003.10.16
Тут пролетал запрос, возвращающий


14-51463
ZeroDivide
2003-09-29 13:10
2003.10.16
Народ, дайте кусок кода, может у кого есть такой.


1-51341
Gero
2003-10-05 10:38
2003.10.16
Подсветка синтаксиса


1-51340
Fast
2003-10-05 22:30
2003.10.16
Получить список всех кнопок на форме