有关“<<“重载问题
程序代码如下:
#include <iostream>
using namespace std;
class LibMat{
public :
LibMat(){
cout<<"LibMat::LibMat() default constructor!\n";
}
virtual ~LibMat()
{
cout<<"LibMat::LibMat() destructor!\n";
}
virtual void print()const
{
cout<<"LibMat::print()____I am a LibMat object!\n";
}
};
void print(const LibMat &mat)
{
cout<<"in global print():about to print mat.print()\n";
mat.print();
}
class Book:public LibMat
{
public:
Book(const string &title,const string &author)
:_title(title),_author(author)//////逐一成员初始化
{
cout<<"Book::Book cnostructor\n";
}
virtual ~Book()
{
cout<<"Book::Book() destructor\n";
}
virtual void print()const
{
string _title;
string _author;
cout<<"I am a book object!\n";
cout<<"title"<<_title<<"\n";////////////////////////_title??
cout<<"author"<<_author<<endl;///////////////////////出错位置
}
const string& title()const{
return _title;
}
const string& author()const{
return _author;
}
protected:
string _title;
string _author;
};
int main()
{
cout<<"Test Book::Book!\n";
Book test("Spring", "Charles");
print(test);
return 0;
}
vc++6.0编译报错“binary '<<' : no operator defined”
请问如何修改