Аватар для morphling
19 / 19 / 2
Регистрация: 26.06.2010
Сообщений: 181

Перегрузка оператора =

07.11.2011, 12:02. Показов 578. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
StringOne& StringOne::operator=(char *s)
{
    char b[80];
    strcpy(b, s);
    StringOne a = b;
    return a;//возвращает тоже самое почемуто то что было
}
подскажите пожалуйста как перегрузить этот оператор...
что бы строка присваивалась...

C++
1
StringOne a = "Hello";
тут работает
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.11.2011, 12:02
Ответы с готовыми решениями:

Перегрузка оператора ->
Здравствуйте, мне нужно реализовать перегрузку operator-> .Как реализован оператор ->? Что он делает понятно, а как?

Перегрузка оператора +=
Есть два класса: Vec4(вектор из 4х float) и Mat4(вектор из 4х Vec4). Проблема в том что при перегрузке в Mat4 операции += я получаю ошибку...

Перегрузка оператора <=
Основная задача данного фрагмента отсортировать массив структур по полю name в алфавитном порядке, используя добавление с бинарным поиском...

4
Заблокирован
07.11.2011, 12:14
странный оператор. Желательно бы посмотреть на весь класс, хотя бы ту часть, которая имеет отношение к реализации оператора =
0
3 / 3 / 2
Регистрация: 27.07.2011
Сообщений: 13
07.11.2011, 12:19
Тут рекурсия бесконечная=)
0
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
07.11.2011, 12:24
Ты возвращаешь ссылку на объект, которого за пределами функции уже не будет существовать. Этого делать нельзя. Плюс ко всему, operator= должен возвращать *this.

Добавлено через 1 минуту
5ANDR0, если ты имеешь в виду
C++
1
StringOne a = b;
то это вызов конструктора, а не оператора присваивания
1
программист С++
 Аватар для sandye51
860 / 600 / 147
Регистрация: 19.12.2010
Сообщений: 2,014
07.11.2011, 13:21
что-то типо того
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class StringOne
{
   char* ptr;
   unsigned int size;
public:
   StringOne() : size(), ptr() { }
   const StringOne& operator= (const char* const s)
   {
      if (ptr)
         delete[]ptr;
         
      size = strlen(s);
      ptr = new char[size + 1];
      
      memcpy(ptr, s, size + 1);
      ptr[size] = NULL;
      
      return *this;
   }
};
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.11.2011, 13:21
Помогаю со студенческими работами здесь

Перегрузка оператора
Имеется код: #include &lt;iostream&gt; class X { public: int a; int b; int operator+(int a) {

Перегрузка оператора +=
Собственно есть класс описывающий правильную дробь с целой частью, числителем и знаменателем, нужно для него перегрузить +=, но как это...

Перегрузка оператора
Добрый день! Мне нужно перегрузить в классе двумерного массива оператор ++, чтобы она возвращал максимальный элемент массива. класс...

Перегрузка оператора ==
Пытаюсь перегрузить оператор == . Делаю так: В классе: class cData // класс дата { int year; // год short mounth; //...

Перегрузка оператора +
Помогите с перегрузкой оператора +. Нужно сложить два объекта - двумерные массивы. сArray operator + (сArray &amp;arr) { int...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
Трассировка корутин Kotlin с OpenTelemetry
mobDevWorks 14.07.2025
Асинхронное программирование меняет правила игры, особенно когда речь заходит о трассировке операций. В Kotlin с его корутинами эта проблема приобретает особый оттенок, который я хотел бы детально. . .
Облачные приложения на Rust: руководство по архитектуре микросервисов
golander 13.07.2025
Когда я впервые взялся за проектирование облачной платформы для одного из наших клиентов, выбор стоял между привычными Go и Java. Но после нескольких месяцев разработки микросервисной системы,. . .
Как Node.js выполняет асинхронные операции
Reangularity 13.07.2025
Каждый раз, когда я рассказываю про Node. js, возникает один и тот же вопрос: "Как эта штука может быть быстрой, если JavaScript — однопоточный язык?" И это действительно кажется парадоксом. Ведь в. . .
Как писать чистый, тестируемый и качественный код на Python
py-thonny 12.07.2025
Помню свой первый проект на Python. Работал тогда быстро, грязно, лишь бы работало. Код был похож на запутанный клубок - переменные по одной букве, функции на 200 строк, комментарии отсутствовали как. . .
Blazor и контроллер сервопривода IoT Meadow Maple
Wired 11.07.2025
Я решил разобраться, как можно соединить современные веб-технологии с миром "железа". Интересная комбинация получилась из Blazor в качестве веб-интерфейса и микроконтроллера Meadow с его веб-сервером. . .
Генерация OpenQASM из кода Q#
EggHead 10.07.2025
Летом 2024-го я начал эксперименты с библиотекой Q# Bridge, и знаете что? Она оказалась просто находкой для тех, кто работает на стыке разных квантовых экосистем. Основная фишка этой библиотеки -. . .
Изучаем новый шаблон ИИ-чата .NET AI Chat Web App
stackOverflow 10.07.2025
В . NET появилось интересное обновление - новый шаблон ИИ-чата под названием . NET AI Chat Web App. Когда я впервые наткнулся на анонс этого шаблона, то сразу понял, что Microsoft наконец-то. . .
Результаты исследования от команды ARP (июль 2025 г.)
Programma_Boinc 10.07.2025
Результаты исследования от команды ARP (июль 2025 г. ) Африканский проект по дождям (ARP) World Community Grid снова запущен! Мы рады поделиться обновленной информацией о нашем прогрессе с осени. . .
Angular vs Svelte - что лучше?
Reangularity 09.07.2025
Сегодня рынок разделился на несколько четких категорий: тяжеловесы корпоративного уровня (Angular), гибкие универсалы (React), прогрессивные решения (Vue) и новая волна компилируемых фреймворков. . .
Code First и Database First в Entity Framework
UnmanagedCoder 09.07.2025
Entity Framework дает нам свободу выбора, предлагая как Code First, так и Database First подходы. Но эта свобода порождает вечный вопрос — какой подход выбрать? Entity Framework — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru