Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

ООП. Наследование

41K
08 января 2010 года
oshilan
24 / / 15.11.2009
Помогите, пожалуйста, составил прогу для операций над векторами, а операции сложения и вычитания не пашут (результаты- нули). Мне кажетсо, что нужно где-то вставить ещё обьявление переменных. Исправьте, кто может.
Код:
program lab15;
  uses
    crt;
  type
    t_vector=object
               a,b,c,d,a1,b1,c1,d1,a2,b2,c2,d2: shortint;
               procedure ab;
               procedure cd;
               procedure print;
             end;
    t_operat=object(t_vector)
               Xa,Ya,Xs,Ys: shortint;
               procedure add;
               procedure sub;
               procedure print;
             end;
procedure t_vector.ab;
begin
  a1:=random(10);
  b1:=random(10);
  a2:=random(10);
  b2:=random(10);
  a:=a1+a2;
  b:=b1+b2
end;
procedure t_vector.cd;
begin
  c1:=random(10);
  d1:=random(10);
  c2:=random(10);
  d2:=random(10);
  c:=c1+c2;
  d:=d1+d2
end;
procedure t_vector.print;
begin
  writeln('A(',a1,',',b1,'); B(',a2,',',b2,'); AB(',a,',',b,')');
  writeln('C(',c1,',',d1,'); D(',c2,',',d2,'); CD(',c,',',d,')')
end;
procedure t_operat.add;
begin
  Xa:=a+c;
  Ya:=b+d
end;
procedure t_operat.sub;
begin
  Xa:=a-c;
  Ya:=b-d
end;
procedure t_operat.print;
begin
  writeln('Add: (',Xa,',',Ya,')');
  writeln('Sub: (',Xs,',',Ys,')');
end;
  var
    vector:t_vector;
    operat:t_operat;
begin
  clrscr;
  randomize;
  vector.ab;
  vector.cd;
  vector.print;
  operat.add;
  operat.sub;
  operat.print;
  readkey
end.
41K
08 января 2010 года
oshilan
24 / / 15.11.2009
Ладно, сформулирую вопрос по-проще: "Почему переменные a, b, c, d обнуляются при попадании в наследник?"
247
09 января 2010 года
wanja
1.2K / / 03.02.2003
Не попадают они туда. Сделай operat.ab
41K
09 января 2010 года
oshilan
24 / / 15.11.2009
А можешь исправить, а то не понятно куда его, плз.. Но мне обязательно нужно, чтоб там было 2 объекта и наследование.
247
10 января 2010 года
wanja
1.2K / / 03.02.2003
vector - один объект. operat - другой. Когда делаешь vector.ab, это никак не затрагивает operat.ab.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог