VC中对CArchive类的一些疑问

2024-12-27 10:29:25
推荐回答(2个)
回答1:

m_type是CType的一个实例,还有我问的是CObject *& pOb中 *& 放在一起是什么意思
CType是派生于CObject,你想储存这个类的对象,那么肯定是储存这个类里面的数据了啊!
我不知道你里面的数据是什么,但我举个例子吧!
假如你的类是这样定义的
CType:CObject
{
int m_nAge;
}
那么你重载时就这样:
friend CArchive& operator >>( CArchive& ar, CObject *& pOb )
{
ar>>pOb->m_nAge;
return ar;
}
这样你应该明白了吧、那么<<的重载你就应该会了!
CObject *& pOb中 *& ,&是在这里是引用
引用你应该会吧?
CArchive& ar是对CArchive的引用
CObject *&则是CObject *的引用,对指针的引用,一个样子的!
还有,你要注意,<< >>运算符的重载返回值都是引用的!
不知道你注意到了没有!
这样说你明白了吗?

回答2:

CArchive是封装了CFile的操作,重载了一些操作符。

你的m_type是什么类型,是否支持它重载的类型。
CObject是MFC的基类,完成一些序列化的操作。