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

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

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

> И еще одна строка..., плиззз
Postal_Dude
сообщение 16.05.2006 16:19
Сообщение #1





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

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


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


Пионер
**

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

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


подскажите как сделать Поле класса - указатель на строку (хранит адрес динамически выделенной памяти для размещения символов строки)?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 23.05.2006 17:45
Сообщение #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 
 К началу страницы 
+ Ответить 
volvo
сообщение 23.05.2006 17:45
Сообщение #4


Гость






Type
PStr = ^String;

MyString = Object
ps: PStr;

Constructor Init;
End;

Constructor MyString.Init;
Begin
ps := New(PStr);
End;
 К началу страницы 
+ Ответить 
bigglewood
сообщение 23.05.2006 18:07
Сообщение #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 - 23.05.2006 18:07
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 23.05.2006 18:16
Сообщение #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;


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


Гость






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

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


Пионер
**

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

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


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


Гость






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


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

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

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

 



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