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

Перегрузка операции = - C++

Восстановить пароль Регистрация
 
RogerUP
0 / 0 / 0
Регистрация: 11.06.2012
Сообщений: 7
16.05.2013, 00:01     Перегрузка операции = #1
Здравствуйте, в программе вылезает такая ошибка
C++
1
[BCC32 Error] MainUnit.cpp(86): E2034 Cannot convert 'string' to 'UnicodeString'
в связи с этим хотел перегрузить оператор = для string и UnicodeString.
Ошибка возникает здесь
C++
1
Form2->familiya->Text = base[ListView1->ItemIndex].Familia
где Form2->familiya->Text - unicodestring; base[ListView1->ItemIndex].Familia - string (#include <string>)
думаю для перегрузки надо написать что-то похожее на
C++
1
UnicodeString &operator=(string &);
C++
1
2
3
4
UnicodeString& TForm1::operator=(string &str)
{
    return str.c_str();
}
но вот в каком классе прописывать? писал в классе формы - не работает
также нужно перегрузить преобразование из UnicodeString в string
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.05.2013, 00:01     Перегрузка операции =
Посмотрите здесь:

C++ Перегрузка операции =
Перегрузка операции C++
C++ Перегрузка операции
Перегрузка операции C++
Перегрузка операции C++
Перегрузка операции ~ C++
Перегрузка операции >> C++
Перегрузка операции >> C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Psilon
Master of Orion
 Аватар для Psilon
5738 / 4686 / 619
Регистрация: 10.07.2011
Сообщений: 14,160
Записей в блоге: 5
Завершенные тесты: 4
16.05.2013, 00:07     Перегрузка операции = #2
RogerUP, насколько я знаю логику шарпа, то тут нужно это перегружать в классе UnicodeString (хотя в шарпе нельзя перегружать присваивание). Можете попробовать ввести статический глобальный метод
C++
1
UnicodeString ToU(string &str)
получится не сильно длиннее (3 символа вместо 1), может не так наглядно, зато точно сработает.
Yandex
Объявления
16.05.2013, 00:07     Перегрузка операции =
Ответ Создать тему
Опции темы

Текущее время: 17:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru