I'm fairly new to C++, sorry if my questions aren't quite specific enough. Here goes.
I'm trying to overload the >> operator for a class which I have called "book."
"Book" contains 'title,' 'author,' and 'publisher' string objects, a 'student count' int, and a 'price' double variable. Part of my assignment is to take these values from a provided .txt file and load values into their corresponding variables/objects. All values are on their own lines within the .txt file, and they each follow this format:
//Title, Author, Publisher, Price Starting Out with Java Gaddis Scott/Jones 105.99
I try to use getline() to take the string values (I use a temp string after I take the price double), but when I type it in, Visual Studio says:
Error: no intsance of overloaded function 'getline' matches the argument list.
I don't understand this. I included both <iostream> and <string>, which I believe are both required for getline to work. I'm working on getting the class file down before moving to the main code, so I apologize for not having a main code to post. Here's the .cpp file for class book:
#include <iostream>
#include <string>
#include "book.h"
using namespace std;
book::book()
{
}
book::~book()
{
}
istream& operator>> (istream &in, book &bookInfo) {
    string temp;
    getline(in, bookInfo.title);
    return in;
}
There's question number 1 down...
Assuming I can get getline to work, I have another problem.
Visual Studio says that bookInfo.title is inaccessible, even though this is the accompanying .cpp file to the class. I even have the istream& function listed as a friend function in the class itself:
#include <iostream>
#include <string>
class book {
    friend istream& operator>> (istream&, book&);
public:
    book();
    virtual ~book();
private:
    string title;
    string author;
    string publisher;
    double price;
};
It should be noted that I used much the same syntax for another class, and was given no error messages.
Thanks for a very quick reply.
 
     
     
    