class CManager
{ CObArray m_list;
public:
void AddTail(CBooks*pBook);//在链表尾部放书籍
void AddHead(CBooks*pBook); //在链表头部放书籍
void Add(CBooks*pBook,int index);//将书籍放到index处
void Delete(int index);//删除index处的书籍
void Fit(int index);//修改index处的书籍
CBooks* GetBook(int index);//获取index出的书籍
CManager();
virtual ~CManager();
virtual int Find(void*para,CObArray&list);
virtual void Delete (void*para);
virtual void Sort();
void Serialize(CArchive&ar);
friend ostream& operator << (ostream& os,CManager &mg);
_________________________________________________________________________________________
#include "stdafx.h"
#include "CBooksApp.h"
#include "Manager.h"
#include "ManagerTitle.h"CManagerTitle::CManagerTitle():m_pParent(0){}
int CManagerTitle::Find(void*para,CObArray&list)
{
if(!m_pParent)
return 0;
CString pStr = (char*)para;
int i,value=-1,num=m_pParent->m_list.GetSize();
for(i=0;i<num;i++)
{
CBooks*p=(CBooks*) m_pParent->m_list[i];
if(p->m_title==pStr)
{
list.Add(p);
if(value<0)
value=i;
}
}
return value;
}void CManagerTitle::Delete (void*para)
{
if(!m_pParent)
return;
CString pStr= (char*)para;
int i=0;
while(i< m_pParent->m_list.GetSize())
{
CBooks*p=(CBooks*) m_pParent->m_list[i];
if(p->m_title==pStr)
{
delete p;
m_pParent->m_list.RemoveAt(i);
}
else
i++;
}
}
void CManagerTitle::Sort()
{
if(!m_pParent)
return;
int i,j,num;
for(i=0;i<num;i++)
{
CBooks* b1=(CBooks*) m_pParent->m_list[i];
for(j=i+1;j<num;j++)
{
CBooks*b2=(CBooks*) m_pParent->m_list[j];
if(b2->m_title<b1->m_title)
{
m_pParent->m_list.RemoveAt(i);
m_pParent->m_list.InsertAt(i,b2);
m_pParent->m_list.RemoveAt(j);
m_pParent->m_list.InsertAt(j,b1);
b1=b2;
}
}
}
}错误:ksApp\ManagerTitle.cpp(37) : error C2248: 'm_list' : cannot access private member declared in class 'CManager'
\cbooksapp\manager.h(19) : see declaration of 'm_list'
\CBooksApp\ManagerTitle.cpp(40) : error C2248: 'm_list' : cannot access private member declared in class 'CManager'
cbooksapp\manager.h(19) : see declaration of 'm_list'
\CBooksApp\ManagerTitle.cpp(57) : error C2248: 'm_list' : cannot access private member declared in class 'CManager'
\cbooksapp\manager.h(19) : see declaration of 'm_list'
\CBooksApp\ManagerTitle.cpp(59) : error C2248: 'm_list' : cannot access private member declared in class 'CManager'
cbooksapp\manager.h(19) : see declaration of 'm_list'
\CBooksApp\ManagerTitle.cpp(63) : error C2248: 'm_list' : cannot access private member declared in class 'CManager'
\cbooksapp\manager.h(19) : see declaration of 'm_list'不知道如何去做!
现在正在做课设,是关于一个小型的图书管理系统,好多问题不能解决,希望大家多多指教~~不胜感激,本人VC学的很菜,~~~望大家给帮下~~~
{ CObArray m_list;
public:
void AddTail(CBooks*pBook);//在链表尾部放书籍
void AddHead(CBooks*pBook); //在链表头部放书籍
void Add(CBooks*pBook,int index);//将书籍放到index处
void Delete(int index);//删除index处的书籍
void Fit(int index);//修改index处的书籍
CBooks* GetBook(int index);//获取index出的书籍
CManager();
virtual ~CManager();
virtual int Find(void*para,CObArray&list);
virtual void Delete (void*para);
virtual void Sort();
void Serialize(CArchive&ar);
friend ostream& operator << (ostream& os,CManager &mg);
_________________________________________________________________________________________
#include "stdafx.h"
#include "CBooksApp.h"
#include "Manager.h"
#include "ManagerTitle.h"CManagerTitle::CManagerTitle():m_pParent(0){}
int CManagerTitle::Find(void*para,CObArray&list)
{
if(!m_pParent)
return 0;
CString pStr = (char*)para;
int i,value=-1,num=m_pParent->m_list.GetSize();
for(i=0;i<num;i++)
{
CBooks*p=(CBooks*) m_pParent->m_list[i];
if(p->m_title==pStr)
{
list.Add(p);
if(value<0)
value=i;
}
}
return value;
}void CManagerTitle::Delete (void*para)
{
if(!m_pParent)
return;
CString pStr= (char*)para;
int i=0;
while(i< m_pParent->m_list.GetSize())
{
CBooks*p=(CBooks*) m_pParent->m_list[i];
if(p->m_title==pStr)
{
delete p;
m_pParent->m_list.RemoveAt(i);
}
else
i++;
}
}
void CManagerTitle::Sort()
{
if(!m_pParent)
return;
int i,j,num;
for(i=0;i<num;i++)
{
CBooks* b1=(CBooks*) m_pParent->m_list[i];
for(j=i+1;j<num;j++)
{
CBooks*b2=(CBooks*) m_pParent->m_list[j];
if(b2->m_title<b1->m_title)
{
m_pParent->m_list.RemoveAt(i);
m_pParent->m_list.InsertAt(i,b2);
m_pParent->m_list.RemoveAt(j);
m_pParent->m_list.InsertAt(j,b1);
b1=b2;
}
}
}
}错误:ksApp\ManagerTitle.cpp(37) : error C2248: 'm_list' : cannot access private member declared in class 'CManager'
\cbooksapp\manager.h(19) : see declaration of 'm_list'
\CBooksApp\ManagerTitle.cpp(40) : error C2248: 'm_list' : cannot access private member declared in class 'CManager'
cbooksapp\manager.h(19) : see declaration of 'm_list'
\CBooksApp\ManagerTitle.cpp(57) : error C2248: 'm_list' : cannot access private member declared in class 'CManager'
\cbooksapp\manager.h(19) : see declaration of 'm_list'
\CBooksApp\ManagerTitle.cpp(59) : error C2248: 'm_list' : cannot access private member declared in class 'CManager'
cbooksapp\manager.h(19) : see declaration of 'm_list'
\CBooksApp\ManagerTitle.cpp(63) : error C2248: 'm_list' : cannot access private member declared in class 'CManager'
\cbooksapp\manager.h(19) : see declaration of 'm_list'不知道如何去做!
现在正在做课设,是关于一个小型的图书管理系统,好多问题不能解决,希望大家多多指教~~不胜感激,本人VC学的很菜,~~~望大家给帮下~~~
解决方案 »
- VC调用 C#的com接口 tlb文件
- 如何将clistctrl中的选定项去选定?
- 两个控件的z-order问题
- 工作整1年(VC)感叹+迷茫!忘高人指点12
- 如何模拟键盘和鼠标,将鼠标移动到一个窗口的控件上,然后点击左键,(非一个进程,且接受消息窗口不一定是当前焦点窗口.)
- 请教高手:在套接字IO模型WSAAsyncSelect()中如何处理send()的WSAEWOULDBLOCK错误!!!
- 研究生二年级,感觉自己自从上研之后,水平没大的提高。马上开题,不知道该选什么题目才好?大家给个意见。好吗?
- 电脑屏幕反过来了(在线等)
- 我用代码创建一个按扭,但是报错,应该没问题的,我试了半天,还是不行,请高手帮忙~~~~~~
- 急急!!请问怎么样才能把字符串“gps:071523”转换成 CTime格式的变量呢
- 进程与线程的问题.
- help,怎么动态生成二维变长数组 ?
{
//.....
friend class AAA
}那么AAA就可以访问CManager的所有成员。。包括私有的。。
{
return m_list;
}