首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

不能访问积累成员解决办法

2012-03-13 
不能访问积累成员为什么编译时报错:rrorC2248:sequence:cannotaccessprotectedmemberdeclaredinclassBooke

不能访问积累成员
为什么编译时报错:rror   C2248:   'sequence '   :   cannot   access   protected   member   declared   in   class   'Book '
error   C2248:   'name '   :   cannot   access   protected   member   declared   in   class   'Book '
该怎样改?谢谢!
//..................
class   Book
{
public:
        Book();
        ~Book();
        Book*load(Book*);
protected:
        char   name[80];
        char   author[80];
        int   number;
                    char   sequence[80];
        char   bookconcern[80];
        Book*next;
};
class   Reader:public   Book
{
public:
        ~Reader();
        void   borrow_book();
        virtual   void   login();
private:
        char   rname[80];
        int   borrowlimit;
        int   borrownumber;
        Reader*next;
        };
class   Teacher:public   Reader
{
public:
        Teacher();
                      void   login();
        void   borrow_book();
  private:
        char   tsequence[80];
        int   borrowlimit;
};
void   Teacher::borrow_book   ()
{
        Book*p,*q,*top;
              top=load(top);                                   //load(top)读入记录图书信息的链表,top为头指针
        char   lent_record[80];
        cout < < "请输入要借的图书的书号: " < <endl;
        cin> > lent_record;
        q=p=top;
        while(p!=NULL)
        {
                if(strcmp(p-> sequence,lent_record)==0)
                {
                      cout < < "要借的图书信息如下: " < <endl;
                      printf( "%-25s%-25s%-25s%-25s%-25s\n ", "书名 ", "作者 ", "书号 ", "出版社 ", "存书量 ");
                      printf( "%-25s%-25s%-25s%-25s%-25d\n ",p-> name,p-> author,p-> sequence,p-> bookconcern,p-> number);


[解决办法]
把那2个成员改成public即可。虽然这是最懒,最差的解决方法,不过对新手却很合适。

热点排行