IPB
ЛогинПароль:

> Правила раздела!

1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!

> ООП
сообщение
Сообщение #1


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Есть примерно такая вещь :

type

TOPoint = object
x,y : word;
constructor Init(a,b,c,d : word);
procedure Show; virtual;
Destructor Done;
end;

TOLine = object(TOPoint)
x1,y1 : word;
constructor Init(a,b,c,d : word);
procedure Show; virtual;
destructor Done;
end;

constructor TOPoint.Init(a,b,c,d : word);
begin
x := a;
y := b;
end;

destructor TOPoint.Done;
begin
end;

procedure TOPoint.Show;
begin
PutPixel(x,y,13);
end;

constructor TOLine.Init(a,b,c,d : word);
begin
x := a;
y := b;
x1 := c;
y1 := d;
end;

destructor TOLine.Done;
begin
end;

procedure TOLine.Show;
begin
Line(x,y,x1,y1);
end;


Так вот можно ли что-то поменять для того, чтобы написанная процедура Work с входным параметром - переменной типа родительского объекта (в данном случае TOPoint) принимала и переменную P : TOPoint и переменную L : TOLine; и выполняля для них соответствующие методы Show ... ?

Сообщение отредактировано: klem4 -


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Цитата
my_point.init(1, 2, 3, 4);

Цитата
my_point: TOPoint;

TOPoint = object
x, y: word;
constructor Init(a,b: word);

естественно, у конструктора в описании только 2 параметра...
просто опечатка , имелось ввиду my_point.init(1, 2 ); скорее всего.


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 10.09.2025 23:57
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name