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.
Помогите!! Описать класс
Описать класс «дом», содержащий сведения о количестве подъездов и этажей, и количестве квартир на этаже. Предусмотреть инициализацию с проверкой допустимости значений полей. Описать методы вычисления количества квартир в подъезде и в доме.
решение
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.
что не так??
и в этой строчке - constuctor Create(p1, kv1, et1: integer);
при компилировании хочет, что бы я поставил после конструктора значов ПРИСВОИТЬ!
вот этого я и не понимаю!)
Сбросьте скрин, посмотрим. А вообще - либо пишите на чистом Паскале, либо поставьте уже Делфи, если вам нужен .NET. :)
Зачем мне Делфи и чистый паскаль?? У меня зачёт по PascalABC.NET!! какой скрин?? я скинул код!
Цитата:
при компилировании хочет, что бы я поставил после конструктора значов ПРИСВОИТЬ!
Этого быть не может, вы что-то неправильно понимаете. Вот посмотрите примеры:
http://pascalabc.net/obuchenie-programmirovaniiu/grafika-klassi-shtampov.
http://s012.radikal.ru/i319/1101/b7/477cc315c95f.jpg
НУ вот... что я не так понял, объяснете пожалуйста
НУ вот... что я не так понял, объяснете пожалуйста
Код:
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.
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.
Опять после конструктора тоже самое.... а как у Вас??
Код:
type
TDom = class
const[COLOR="Red"]r[/COLOR]uctor (p1, kv1, et1: integer);
TDom = class
const[COLOR="Red"]r[/COLOR]uctor (p1, kv1, et1: integer);
Всё исправил, всё заработало!!))
Я в ней вообще не могу разобраться.. мне до завтрого она нужна...
--------------------
задание такое -----
--------------------
Создайте проект, в котором опишите класс для решения задачи Вашего варианта.
Каждый разрабатываемый класс должен, содержать следующие элементы: скрытые поля, конструкторы, перегруженные операции. Функциональные элементы класса должны обеспечивать непротиворечивый, полный интерфейс класса.
В программе должна выполняться проверка всех разработанных элементов класса.
Вариант 1.
Описать класс для работы с одномерным массивом чисел, позволяющий выполнять основные операции: добавление и удаление элемента – перегруженные операции ++ и --.