高手进,c++程序出错

来源:百度知道 编辑:UC知道 时间:2024/05/15 09:34:38
6.假设图书馆的图书包含书名、编号、作者属性,读者应包含姓名、借书证号、借阅图书属性,每位读者最多可借5本书,编写程序列出某读者的借书情况。
//要求与提示:设计一个类object,从它派生出图书类book和
//读者类reader,在reader类中有一个rentbook()成员函数
//用于借阅图书。
#include "iostream"
#include "string"
using namespace std;
void new_line()
{char c;
do{cin.get(c);
}while(c!='\n');
}
class obj
{public:
string name;
string num;
public:
obj():name('\0'),num('\0')
{}
obj(string x,string y)
{name=x;
num=y;
}

string get_name()
{return name;
}
string get_num()
{return num;
}
void set_name(string x)
{name=x;
}
void set_num(string x)
{num=x;
}

};
class book :public obj
{private:
string writer;
public:
book():obj(),writer('\0')
{}
book(string x,string y,string z)

你这个有点乱~ 用你叙述的模拟图书馆 还借书 感觉有点别扭~
按你的要求小写了一个~你可以再改改,以便更符合要求~
为了存取方便把数据成员设为公有,这样省去了那些接口函数~
参考如下g++可编译运行:
#include "iostream"
#include "string"
using namespace std;
class obj
{
public:
string name;
string num;
public:
obj(){name="0";num="0";}
obj(string x,string y)
{
name=x;
num=y;
}
};
class book :public obj
{
public:
string writer;
public:
book():obj(){writer="0";}

};
class reader:public obj
{
private:
book b[5];
const int MAX;
static int num;
public:
reader(string x,string y):obj(x,y),MAX(5){}
int rentbook();
void print();
};
int reader:: num =0 ;
int reader:: rentbook()
{
int i;
cout<<"输入选项:0、退出,1、借书,2、还书 "<<endl;