Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Ошибка в алгоритме перегрузки оператора присваивания / 4 сообщений из 4, страница 1 из 1
13.12.2012, 17:43
    #38078269
Ошибка в алгоритме перегрузки оператора присваивания
Добрый вечер. Пишу методы для класса по своему заданию. Столкнулся с проблемой перегрузки оператора присваивания для метода поиска. Привожу только часть кода с методом поиска Find и перегрузкой. Хочу разобраться непосредственно с алгоритмом. Может косяк в реализации? Буду благодарен за помощь
Код: plaintext
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.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
struct DataType
{
	string term;
	string text;
};

typedef struct DataType;

class SeqList
{
	private:
		DataType *ListItem;
		int size;
	public:				
		SeqList::SeqList(void) : size(0)
		{
			ListItem = new DataType[MaxSize];
		}
                bool Find(DataType &item) const			//Сканирование списка для нахождения соответствующего элемента.
		{
			int i = 0;
			if(!ListEmpty())
			{
				return false;
			}
			while(i < size && !(item.term == ListItem[i].term))  //здесь используется присваивание
				i++;
			if(i < size)
			{
				item.term = ListItem[i].term;
				return true;
			}
			else
				return false;
		}
		bool SeqList::operator ==(DataType &item)
		{ 
			int i;
			for (i = 0; ListItem[i].term[i] == item.term[i]; i++) //не пойму как тут организовать, запутался 
			if(ListItem[i].term[i] == item.term[i])                   //индекс ListItem не i, но я не пойму что и как
				return true;						
			return false;							
		}
...
Рейтинг: 0 / 0
13.12.2012, 18:21
    #38078324
Ошибка в алгоритме перегрузки оператора присваивания
Разумеется, что это оператор сравнения, а не присваивания (=).
...
Рейтинг: 0 / 0
14.12.2012, 11:09
    #38079045
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка в алгоритме перегрузки оператора присваивания
Хаотично Добрый,

Это у требя просто хрень какая-то а не код.
Все неправильно, комментировать нечего.
...
Рейтинг: 0 / 0
14.12.2012, 12:28
    #38079199
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка в алгоритме перегрузки оператора присваивания
Автор как-бе пишет. - "Я вот тут написал исходничек. А ну-ка попробуйте сделайте реверс-инжинеринг.
Догадайтесь какое было задание. И еще и исправьте мои возможные ошибки." '

Капец!

Вот что здесь? Итерация по диагонали матрицы?
Код: plaintext
1.
for (i = 0; ListItem[i].term[i] == item.term[i]; i++) 
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Ошибка в алгоритме перегрузки оператора присваивания / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]