Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
reisal78
647 / 560 / 132
Регистрация: 28.04.2013
Сообщений: 1,599
#1

Модификация объектов класса string - C++

16.08.2013, 17:01. Просмотров 464. Ответов 3
Метки нет (Все метки)

ООП С++ Лафоре

есть пример:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// sstrchng.cpp
// изменение частей строки
#include <iostream>
#include <string>
using namespace std;
///////////////////////////////////////////////////////////
int main ( )
{
  string s1 ( "Все хорошо, прекрасная маркиза." );
  string s2 ( "принцесса" );
  string s3 ( "Приветствую " );
 
  s1.erase ( 0, 12 );              // убираем "Все хорошо, "
  s1.replace ( 11, 7, s2 );        // заменяем "маркиза" на "принцесса"
  s1.insert ( 0, s3 );             // вставляем "Приветствую, "
  s1.erase ( s1.size ( ) - 1, 1 ); // убираем '.'
  s1.append ( 3, '!' );            // добавляем '!!!'
 
  int x = s1.find ( ' ' );         // ищем пробелы
  while ( x < s1.size ( ) )        // цикл по всем пробелам
  {
    s1.replace(x, 1, '/');      // заменяем пробел на '/'
    x = s1.find ( ' ' );           // ищем следующий пробел
  }
 
  cout << "s1: " << s1 << endl;
 
  return 0;
}
У меня появляется ошибка:

..\main.cpp(20): warning C4018: <: несоответствие типов со знаком и без знака
..\main.cpp(22): error C2664: std::basic_string<_Elem,_Traits,_Alloc> &std::basic_string<_Elem,_Traits,_Alloc>::replace(unsigned int,unsigned int,const std::basic_string<_Elem,_Traits,_Alloc> &): невозможно преобразовать параметр 3 из "char" в "const std::basic_string<_Elem,_Traits,_Alloc> &"
with
[
_Elem=char,
_Traits=std::char_traits<char>,
_Alloc=std::allocator<char>
]
Причина: невозможно преобразовать "char" в "const std::basic_string<_Elem,_Traits,_Alloc>"
with
[
_Elem=char,
_Traits=std::char_traits<char>,
_Alloc=std::allocator<char>
]
Ни один конструктор не смог принять исходный тип, либо разрешение перегрузки конструктора неоднозначно
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Подсвечивается строка 22. Не могу понять как исправить. (VS2012)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.08.2013, 17:01     Модификация объектов класса string
Посмотрите здесь:

Модификация объекта string через ссылку и указатель - C++
Создайте две функции: первая должна получать аргумент типа string*, вторая - srting&amp;. Каждая функция должна изменять объект string своим...

Модификация разработанного класса - C++
Создал класс видеомагнитофон, требуется доработать его вот по этому заданию: Рассмотреть модификацию видеомагнитофона,который...

Сравнение объектов string - C++
Вопрос такой. Мне нужно организовать поиск по ключу типа string. Но сравниваются они посимвольно. if (somestring==parametr) {....} ...

Использование strlen для объектов типа string - C++
Подскажите пожалуйста, как strlen использовать на string.

Сериализация объектов с полями std::string + запись/чтение в файл - C++
Здравствуйте! Есть класс: class Guest { private: std::string login;

Количество объектов класса - C++
недавно подцепил тут где то этот вопрос и меня что называется зацепило... думал думал так и не смог придумать как сделать счетчик созданных...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
16.08.2013, 17:07     Модификация объектов класса string #2
Цитата Сообщение от reisal78 Посмотреть сообщение
Не могу понять как исправить.
C++
1
s1.replace(x, 1, "/");
reisal78
647 / 560 / 132
Регистрация: 28.04.2013
Сообщений: 1,599
16.08.2013, 17:12  [ТС]     Модификация объектов класса string #3
Угу, благодарю, все заработало.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.08.2013, 23:38     Модификация объектов класса string
Еще ссылки по теме:

Объявление объектов класса - C++
Как инициализировать объекты класса вне функции main, но и не в глобальной области? Объявленные объекты занимают много пространства в...

Инициализация объектов класса - C++
Помогите, пожалуйста написать, с этим у меня тяжко хоть это и азы... Создайте 3 экземпляра класса и инициализируйте с помощью: а)...

Счетчик объектов класса - C++
Всем доброго времени суток. Изучая язык С++ по книге Лафоре столкнулся с задачей которую не могу решить (будет скриншот задачи) точнее не...

Вектор объектов класса - C++
Всем привет! Несколько недель назад я писал сюда по поводу одной задачи. Она заключается в том, чтобы реализовать класс &quot;Зоомагазин&quot; с...

Массив объектов класса - C++
Имеется класс : #include &lt;iostream&gt; class Pat { private : int patAge; char patName; public...

Удаление объектов класса - C++
Никак не могу понять, как правильно освободить память. Подскажите пожалуйста в чем ошибка. #include &quot;Head.h&quot; int min(int a, int b) { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
rangerx
1932 / 1541 / 141
Регистрация: 31.05.2009
Сообщений: 2,911
16.08.2013, 23:38     Модификация объектов класса string #4
Цитата Сообщение от reisal78 Посмотреть сообщение
..\main.cpp(20): warning C4018: <: несоответствие типов со знаком и без знака
C++
1
std::size_t x = s1.find( ' ' );
Yandex
Объявления
16.08.2013, 23:38     Модификация объектов класса string
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru