Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.06.2011, 09:09   #1
revaldo666
Форумчанин
 
Регистрация: 24.06.2010
Сообщений: 251
По умолчанию Класс строки

Всем добрый день.
Не могу понять одного пункта задания, может кто-то подскажет как это...

- Написать конструтор преобразования из char в CStr;
revaldo666 вне форума Ответить с цитированием
Старый 09.06.2011, 09:27   #2
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

А что вы конкретно не можете понять? Что такое конструктор преобразования?
И в задании, наверно, нужен конструктор не для char, а для char*
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума Ответить с цитированием
Старый 09.06.2011, 09:48   #3
revaldo666
Форумчанин
 
Регистрация: 24.06.2010
Сообщений: 251
По умолчанию

скорее всего.
Но всёравно не пойму как его написать.

и ещё одно. Данный пункт
- конкатенация строк (добавление к текущей строке переданной строки).
чёт не получается

Код:
CStr CStr::Compose(const CStr & tmp)
{
	
	buff=strlen(str)+strlen(tmp.str)+1;
	str=new char[buff];
	strcat(str,tmp.str);
	
	
	return str;
}
revaldo666 вне форума Ответить с цитированием
Старый 09.06.2011, 10:25   #4
revaldo666
Форумчанин
 
Регистрация: 24.06.2010
Сообщений: 251
По умолчанию

Цитата:
Сообщение от revaldo666 Посмотреть сообщение



Код:
CStr CStr::Compose(const CStr & tmp)
{
	
	buff=strlen(str)+strlen(tmp.str)+1;
	str=new char[buff];
	strcat(str,tmp.str);
	
	
	return str;
}
с совмещением строк разобрался, нужно было просто временную строку создать.

а вот как сделать конструктор преобразования из char в CStr незнаю, надеюсь на вашу помощь.
класс имеет 3 поля
Код:
int buff //буфер
int curr //длина строки
char * str //строка

Последний раз редактировалось revaldo666; 09.06.2011 в 11:39.
revaldo666 вне форума Ответить с цитированием
Старый 09.06.2011, 11:48   #5
Syuf
Форумчанин
 
Аватар для Syuf
 
Регистрация: 02.02.2010
Сообщений: 599
По умолчанию

Цитата:
конструктор преобразования из char в CStr
Код:
class CStr
{
   // ...
public:
   CStr(const char*); // Преобразование из const char*  в строку
   CStr(char); // Преобразование из char в строку
   // ...
};
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
Syuf вне форума Ответить с цитированием
Старый 09.06.2011, 11:50   #6
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

http://lib.ru/CPPHB/cppref.txt
Параграф R.12.3
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума Ответить с цитированием
Старый 09.06.2011, 12:46   #7
revaldo666
Форумчанин
 
Регистрация: 24.06.2010
Сообщений: 251
По умолчанию

Цитата:
Сообщение от Syuf Посмотреть сообщение
Код:
class CStr
{
   // ...
public:
   CStr(const char*); // Преобразование из const char*  в строку
   CStr(char); // Преобразование из char в строку
   // ...
};
чтото типо такого?

Код:
CStr::CStr(const char* str)
{
	this->str=new char[buff];
	strcpy(this->str,str);
}
revaldo666 вне форума Ответить с цитированием
Старый 09.06.2011, 13:21   #8
Syuf
Форумчанин
 
Аватар для Syuf
 
Регистрация: 02.02.2010
Сообщений: 599
По умолчанию

Да .
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
Syuf вне форума Ответить с цитированием
Старый 09.06.2011, 13:48   #9
revaldo666
Форумчанин
 
Регистрация: 24.06.2010
Сообщений: 251
По умолчанию

спасибо за помощь
revaldo666 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сделать в гриде строки выше, чтобы не растягивать строки до бесконечности kris__tina БД в Delphi 1 09.06.2011 15:31
Описать класс-родитель и класс-потомок. Delphi 7 Andrew_M Помощь студентам 0 15.01.2011 14:42
Создание пустой строки и копирование в неё содержимое предыдущей строки Gvaridos Microsoft Office Excel 2 29.10.2010 13:33
Удалить символ из строки - класс контейнер ArniLand Общие вопросы C/C++ 0 31.03.2010 20:29
Перенести символа с начала строки в место перед запятой этой же строки. Zhiltsov Microsoft Office Excel 4 05.06.2009 13:10