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

Проблема с итератором в <vector> - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ошибка в циклах http://www.cyberforum.ru/cpp-beginners/thread426263.html
В примере есть 2 цикла(один в другом). Ссылка: http://ideone.com/lnxyf. Там получилось так, что ввод данных просто пропускается. Почему?
C++ Цвет строки Как вывести строку определенно цвета(зеленый допустим)? Компилятор borkand 3.1 Например: main { cout<<"HELLO !!!!"<<endl; } http://www.cyberforum.ru/cpp-beginners/thread426240.html
Объединение строк C++
помогите написать функцию объединения двух строк в одну (вторая присваивается к концу первой). Объединить две строки, затем еще две.
C++ Нужна помощ
Здравствуйте, помогите пожалуйста с задачами : 1).Вычислить значения функции U http://10pix.ru/img1/1836/6536502.png при http://10pix.ru/img1/417307/6536617.png Найти максимальное значение U и при каких х, y и z оно достигается 2).Дана матрица А(4,3) 1. Найти сумму отрицательных элементов матрицы, лежащих над главной диагональю
C++ [C++] Псевдографика http://www.cyberforum.ru/cpp-beginners/thread426213.html
Здравствуйте. Помогите пожалуйста написать программу.Суть состоит вот в чем: На экран из файла выводится таблица, прочерченная с помощью символов псевдографики (например, рамка имеет такой вид ╒╤╕ ) .Таблица полностью размещена на экране. Нужно заменить этот вид псевдографики на другой (например, на вот этот ╔╦╗). Буду очень благодарна, если поможете.
C++ структура данных "Очередь" Я понимаю, что везде материала полным-полно, но может ли мне кто-нибудь объяснить что такое ОЧЕРЕДЬ???? и функции добавления удаления пожалуйста!!!!очень нужно!!!! подробнее

Показать сообщение отдельно
pun4er
6 / 6 / 1
Регистрация: 06.10.2010
Сообщений: 122
11.01.2012, 16:45     Проблема с итератором в <vector>
Всем привет. Помогите пожалуйста решить проблему: У меня существует класс
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Book
{
    string author,title,publishing;
    int year_p;
    double price;
public:
    Book(){author=title=publishing="";year_p=price=0;}
    Book(string a,string t,int y,string p,double pr)
    {
        author=a;
        title=t;
        year_p=y;
        publishing=p;
        price=pr;
    }
    ~Book(){};
    int delete_book();
    friend ostream& operator<<(ostream& out,Book ob);
    vector<Book>v;
};
полностью код писать не буду, только самое нужное. Так вот. У меня есть вектор v типа <Book>.
Мне в задании нужно произвести поиск. Вот что я делаю
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
int Book::delete_book()
{
    Book ob;
    string a,t,p,x;
    int y,i;
    double pr;
//далее нужно из файла считать данные и засунуть их в вектор
    fstream in("books.txt",ios::out | ios::in | ios::binary);
    while(!in.eof())
    {
        in>>a;
        in>>t;
        in>>y;
        in>>p;
        in>>pr;
        ob.v.push_back(Book(a,t,y,p,pr));
    }
    for(int i=0;i<ob.v.size();i++)
        cout<<ob.v[i];//вектор заполнен, все хорошо
    cout<<"\nВведите название книги: ";
    cin>>x;
    vector<Book>::iterator it;//создаю итератор для поиска
    it=find(ob.v.begin(),ob.v.end(),x);//тут ошибка! описание ниже
 
return 0;
}
возникает ошибка в файле algorythm:
"Ошибка 10 error C2678: бинарный "==": не найден оператор, принимающий левый операнд типа "Book" (или приемлемое преобразование отсутствует) c:\program files (x86)\microsoft visual studio 10.0\vc\include\algorithm 41
"
Подключены такие библиотеки
C++
1
2
3
4
5
6
7
#include<iostream>
#include<conio.h>
#include<fstream>
#include<vector>
#include<algorithm>
#include<iterator>
#include<string>
Компилятор VC 2010
В чем проблема, скажите пожалуйста!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru