我这边有一类
Class CDrvMode
{
CDrv1 m_d;
public DWORD a;
}
我想在另一个类中更新这个类中的a;
这个类是
class CDrv1 : virtual public CExt
{
}
于是我按照一般的思路首先在CDrv1的头文件中#include "DrvMode.h"
在CDrv1的public中CDrvMode m_drv(或CDrvMode *m_drv);
然后我在cpp文件中想m_drv.a(或m_drv->m_drv).可是他说类没声明呢。
把CDrvMode m_drv(或CDrvMode *m_drv)放到cpp中也是。该如何来调用呢。
Class CDrvMode
{
CDrv1 m_d;
public DWORD a;
}
我想在另一个类中更新这个类中的a;
这个类是
class CDrv1 : virtual public CExt
{
}
于是我按照一般的思路首先在CDrv1的头文件中#include "DrvMode.h"
在CDrv1的public中CDrvMode m_drv(或CDrvMode *m_drv);
然后我在cpp文件中想m_drv.a(或m_drv->m_drv).可是他说类没声明呢。
把CDrvMode m_drv(或CDrvMode *m_drv)放到cpp中也是。该如何来调用呢。
class CExt
{
};class CDrvMode
{
public:
DWORD a;
};class CDrv1 : virtual public CExt
{
public:
inline void Init()
{
m_cdrv.a = 0;
}private:
CDrvMode m_cdrv;
};
{
m_cdrv.a = 0;
}
为什么要这样啊。我要在cpp一个函数做了某个操作再给m_cdrv.a赋值啊。
比如这个函数为int CDrv1 ::eep(
BOOL bIsExp
)
{ 在这里我如何来写呢。
}
谢谢
class CExt
{
};class CDrvMode
{
public:
DWORD a;
};class CDrv1 : virtual public CExt
{
public:
inline void Init()
{
m_cdrv.a = 0;
} int eep(BOOL bIsExp);private:
CDrvMode m_cdrv;
};int CDrv1 ::eep(BOOL bIsExp)
{
m_cdrv.a = 0;
return m_cdrv.a;
}
?
现在在Class CDrvMode
{
CDrv1 m_d;
public DWORD a;
}
中的CDrv1 也说missing storage-class or type specifiers了。为什么啊。郁闷
实现文件中#include "otherclass.h"
CDrvMode如何来设置
这个很简单,用类的指针,在H头文件class ClassName;
在CPP源文件中#include "className.h"就可以了
我早就看出楼主是新手,所以我一直在帖代码.楼主用友元,按我说的做
1. 在.cpp中包含头文件夹
2. 在.h中用关键字” friend 类名”
给你来个例子,你按这个例子做,现在有类A和类B,你想相互包含
“//”是注释的意思
//a.h
class a
{
friend b
public:
int eep(bool bflag);private:
b 变量;
}//a.cpp
#include “b.h”int a::eep(bool bflag)
{
变量.i = 你想要的数
}
//b.hclass b
{
public:
int i;
}//b.cpp这下子够明白了吧?我想不出来更简单的方法来诱导你了LZ.