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

Ваш аккаунт

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

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

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

Помогите!! Описать класс

64K
16 января 2011 года
Pircus
8 / / 16.01.2011
задание

Описать класс «дом», содержащий сведения о количестве подъездов и этажей, и количестве квартир на этаже. Предусмотреть инициализацию с проверкой допустимости значений полей. Описать методы вычисления количества квартир в подъезде и в доме.

решение

type
dom=class
private kv:integer;
public p, et:integer;
constuctor create(p1,kv1,et1);
begin p:=p1;et:=et1;
if et1>0 then et:=et1 else writeln ('неверное количество')
end;
function kp:integer;
function kd:integer;
begin
result:=p*et*kv;
end;
end;
dom.kp:integer;
begin
result:=et*kv;
end;
begin
var
a1:dom:=newdom(3,4,6);
writeln(a1.p,a1.kv:3,a1.et:3);
writeln(' количество квартир в подъезде');
writeln(a1.kp());
writeln(' количество квартир в доме')
writeln(a1,kd());
end.

что не так??
278
16 января 2011 года
Alexander92
1.1K / / 04.08.2008
Код:
type
 TDom=class
  public
   constuctor Create(p1, kv1, et1: integer);
   function kp: integer;
   function kd: integer;

   p, et, kv: integer;
 end;

 constructor TDom.Create(p1, kv1, et1: integer);
 begin
  Self.p := p1;
  Self.kv := kv1;
  Self.et := et1;
  if et1 > 0 then
   Self.et := et1
  else
   writeln ('неверное количество')
 end;

 function TDom.kd: integer;
 begin
  kd := Self.p * Self.et * Self.kv;
 end;

 function TDom.kp: integer;
 begin
  kp := Self.et * Self.kv;
 end;

var
 dom: TDom;

begin
 dom := TDom.Create(3, 4, 6);
 writeln(dom.p, dom.kv:3, dom.et:3);
 write(' количество квартир в подъезде ');
 writeln(dom.kp);
 write(' количество квартир в доме ')
 writeln(dom.kd);
end.


Вы хотели как-то вот так написать? :)
64K
16 января 2011 года
Pircus
8 / / 16.01.2011
У меня паскальабц.нэт

и в этой строчке - constuctor Create(p1, kv1, et1: integer);
при компилировании хочет, что бы я поставил после конструктора значов ПРИСВОИТЬ!

вот этого я и не понимаю!)
278
16 января 2011 года
Alexander92
1.1K / / 04.08.2008
Сбросьте скрин, посмотрим. А вообще - либо пишите на чистом Паскале, либо поставьте уже Делфи, если вам нужен .NET. :)
64K
16 января 2011 года
Pircus
8 / / 16.01.2011
Зачем мне Делфи и чистый паскаль?? У меня зачёт по PascalABC.NET!! какой скрин?? я скинул код!
278
16 января 2011 года
Alexander92
1.1K / / 04.08.2008
Так и говорите изначально, что у вас зачет по PascalABC.NET. А скрин - потому что я хочу посмотреть, как эта ошибка выглядит на самом деле.
Цитата:

при компилировании хочет, что бы я поставил после конструктора значов ПРИСВОИТЬ!


Этого быть не может, вы что-то неправильно понимаете. Вот посмотрите примеры:
http://pascalabc.net/obuchenie-programmirovaniiu/grafika-klassi-shtampov.

64K
16 января 2011 года
Pircus
8 / / 16.01.2011
http://s012.radikal.ru/i319/1101/b7/477cc315c95f.jpg

НУ вот... что я не так понял, объяснете пожалуйста
278
16 января 2011 года
Alexander92
1.1K / / 04.08.2008
Перечитал описание PascalABC.NET... Думаю, что вам нужно что-то следующего вида:

Код:
type
 TDom = class
   constuctor (p1, kv1, et1: integer);
   begin
     p := p1;
     kv := kv1;
     et := et1;
     if et1 > 0 then
       et := et1
     else
       writeln ('неверное количество')
   end;

   function kp: integer;
   begin
     Result := et * kv;
   end;

   function kd: integer;
   begin
     Result := p * et * kv;
   end;

   p, et, kv: integer;
 end;

begin
 var dom := new TDom(3, 4, 6);
 writeln(dom.p, dom.kv:3, dom.et:3);
 write(' количество квартир в подъезде ');
 writeln(dom.kp);
 write(' количество квартир в доме ')
 writeln(dom.kd);
end.
64K
16 января 2011 года
Pircus
8 / / 16.01.2011
Либо я туплю, либо лыжи не едут:)
Опять после конструктора тоже самое.... а как у Вас??
5
16 января 2011 года
hardcase
4.5K / / 09.08.2005
 
Код:
type
 TDom = class
   const[COLOR="Red"]r[/COLOR]uctor (p1, kv1, et1: integer);
64K
16 января 2011 года
Pircus
8 / / 16.01.2011
Большое Спасибо!!!! Вам двоим!!!!
Всё исправил, всё заработало!!))
64K
16 января 2011 года
Pircus
8 / / 16.01.2011
Ребят, помогите ещё в этой задачке (последняя)
Я в ней вообще не могу разобраться.. мне до завтрого она нужна...

--------------------
задание такое -----
--------------------
Создайте проект, в котором опишите класс для решения задачи Вашего варианта.
Каждый разрабатываемый класс должен, содержать следующие элементы: скрытые поля, конструкторы, перегруженные операции. Функциональные элементы класса должны обеспечивать непротиворечивый, полный интерфейс класса.
В программе должна выполняться проверка всех разработанных элементов класса.
Вариант 1.
Описать класс для работы с одномерным массивом чисел, позволяющий выполнять основные операции: добавление и удаление элемента – перегруженные операции ++ и --.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог