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

Переопределение оператора== - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Алгоритм программы http://www.cyberforum.ru/cpp-beginners/thread45600.html
Доброго времени суток. Есть программа, она выводит время до определенной даты #include <time.h> #include <stdio.h> #include <string.h> #include <stdlib.h> #ifdef WIN32 # define SLEEP(x)...
C++ функция strcpy и strcat Добрый день!У меня такая проблема...Есть массив строк, где хранятся имена и при выводе имени на экран,если оно длиннее определенного,то я его обрезаю,а в конец добавляю три точки...Но почему-то оно... http://www.cyberforum.ru/cpp-beginners/thread45574.html
C++ Конструктор
Конструктор сбрасывающий экземпляр класса. Что он из себя представляет? Приведите примеры.
Exe файл на другом компе C++
написал прогу на С++ по VS08, exe файл по флешке передал другу, говорит не открывает, в чем проблема?
C++ Статическое поле http://www.cyberforum.ru/cpp-beginners/thread45516.html
Помогите с такой проблемой. Программа нормально компилится, но возвращается, вот такая ошибка при объявлении статического поля, являющегося указателем на массив значений строк символов(char*) типа...
C++ Представление целых чисел массивом байтов у меня вот такая задачка:Написать процедуры сложения и вычитания двух целых чисел, каждое из которых представлено массивом байтов. Первый байт массива содержит код знака числа: 0 - ‘+’, 225 - ‘-‘, а... подробнее

Показать сообщение отдельно
Skirmisher
44 / 44 / 0
Регистрация: 23.05.2009
Сообщений: 92
31.07.2009, 11:47  [ТС]
Цитата Сообщение от zim22 Посмотреть сообщение
не хорошо. operator== лучше сделать другом. т.к. он не изменяет состояние объекта.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
struct C {
  friend bool operator==(const C &lhs, const C &rhs);
 
  C() : data(0) { }
private:
  int data;
};
bool operator==(const C &lhs, const C &rhs) {
  return lhs.data == rhs.data;
}
bool operator!=(const C &lhs, const C &rhs) {
  return !(lhs == rhs);
}
Так тоже делал, однако проблема не в этом.
Проблема в том что используется указатель на статическую переменную и при изменении значения поля одного объекта у второго он тоже устанавливается к этому значению(делал отладку), поскольку используется одна область памяти.
Мне интересно, как-нибудь можно обойти это ограничение связанное с указателем на статическую переменную(глобальная переменная, доступная только в пределах класса). А то будет всегда возвращаться истинное значение функцией-оператором== (.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru