пожалуста помогите ато у меня большие проблемы...
Описать базовый класс Строка.
Обязятельные поля класса:
1)указатель на строку - хранит адрес динамически выделенной памяти для размещения символов строки;
2)значение типа byte - хранит длину строки в байтах
Обязательные методы:
1)конструктор без параметров
2)конструктор, принимающий в качестве параметра строку(заканчивается нулевым байтом);
3)конструктор, принимающий в качестве параметра символ;
4)получение длины строки;
5)очистка строки(сделать строку пустой);
подскажите как сделать Поле класса - указатель на строку (хранит адрес динамически выделенной памяти для размещения символов строки)?
type
TSP = ^string;
...
pStr : TSP;
Type
PStr = ^String;
MyString = Object
ps: PStr;
Constructor Init;
End;
Constructor MyString.Init;
Begin
ps := New(PStr);
End;
когда я по томуже принципу добавляю еще одно поле только типа byte то оно не компилируется.
А с каких пор Byte стал ссылочным типом?
Type
PStr = ^String;
bt = ^byte;
MyString = Object
ps: PStr;
lenbt: bt;
Constructor Init;
End;
Constructor MyString.Init;
Begin
ps := New(PStr);
lenbt := New(bt);
End;
bigglewood, давай не будем темы дублировать?
Ты хотя бы что-то про конструкторы читал??? Что за проблемы вообще?
Constructor MyString(Ch: Char);
Begin
{
Делать реализацию будешь сам, ибо не объяснил,
ЧТО ИМЕННО должно здесь происходить !
}
End;
сори я думал просто что надо по отдельности вопросы задавать...
в том то и дело что реализации у консруктора никакой нет.
осталось только 2 метода сделать..получение длины строки и ее очистка.
еще раз извините.
Function MyString.GetLen: Byte;
Begin
GetLen := lenbt^;
End;
Procedure MyString.Clear;
Begin
ps^ := '';
lenbt^ := 0;
End;