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

> Прочтите прежде чем задавать вопрос!

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

 
 Ответить  Открыть новую тему 
> И еще одна строка..., плиззз
сообщение
Сообщение #1





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

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


пожалуста помогите ато у меня большие проблемы...
Описать базовый класс Строка.
Обязятельные поля класса:
1)указатель на строку - хранит адрес динамически выделенной памяти для размещения символов строки;
2)значение типа byte - хранит длину строки в байтах
Обязательные методы:
1)конструктор без параметров
2)конструктор, принимающий в качестве параметра строку(заканчивается нулевым байтом);
3)конструктор, принимающий в качестве параметра символ;
4)получение длины строки;
5)очистка строки(сделать строку пустой);
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Пионер
**

Группа: Пользователи
Сообщений: 55
Пол: Мужской

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


подскажите как сделать Поле класса - указатель на строку (хранит адрес динамически выделенной памяти для размещения символов строки)?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


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

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

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


type
TSP = ^string;

...
pStr : TSP;


?


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


Гость






Type
PStr = ^String;

MyString = Object
ps: PStr;

Constructor Init;
End;

Constructor MyString.Init;
Begin
ps := New(PStr);
End;
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Пионер
**

Группа: Пользователи
Сообщений: 55
Пол: Мужской

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


когда я по томуже принципу добавляю еще одно поле только типа 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 -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






А с каких пор 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;


Объединено из темы "Поле"
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






bigglewood, давай не будем темы дублировать?

Ты хотя бы что-то про конструкторы читал??? Что за проблемы вообще?
Constructor MyString(Ch: Char);
Begin
{
Делать реализацию будешь сам, ибо не объяснил,
ЧТО ИМЕННО должно здесь происходить !
}
End;
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Пионер
**

Группа: Пользователи
Сообщений: 55
Пол: Мужской

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


сори я думал просто что надо по отдельности вопросы задавать...
в том то и дело что реализации у консруктора никакой нет.
осталось только 2 метода сделать..получение длины строки и ее очистка.
еще раз извините.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Гость






Цитата
осталось только 2 метода сделать..получение длины строки и ее очистка.


Function MyString.GetLen: Byte;
Begin
GetLen := lenbt^;
End;

Procedure MyString.Clear;
Begin
ps^ := '';
lenbt^ := 0;
End;
 К началу страницы 
+ Ответить 

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

 




- Текстовая версия 21.10.2017 22:46
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"