多重继承,这样用行吗?

来源:百度知道 编辑:UC知道 时间:2024/06/15 05:38:06
class a 声明在 a.h
class b 声明在 b.h
class a 定义在 a.cpp
class b 定义在 b.cpp
class c:public a,public b 声明在 c.h
class c 定义在 c.cpp

这样行不行?要么还有更好的办法?
class c:public a,public b 声明在 c.h
在 c.h中
#include<a.h>
#include<b.h>
class c:public a,public b

如果还有一个 main.cpp
在main中用到上面所有的内容
是不是只#include<c.h>就好了??
如果在#include<a或b.h>,就出错!!!

如下内容:
CRole.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall CFile::CFile(void)" (??0CFile@@QAE@XZ) ,该符号在函数 _$E1 中被引用
CRole.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall CItem::~CItem(void)" (??1CItem@@QAE@XZ) ,该符号在函数 __unwindfunclet$??0CRole@@QAE@XZ$0 中被引用
CRole.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall CSkill::CSkill(void)" (??0CSkill@@QAE@XZ) ,该符号在函数 "public: __thiscall CRole::CRole(void)" (??0CRole@@QAE@XZ) 中被引用
CRole.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall C

你用了守护宏吗……
就是在a.h中使用
#ifndef _A_H_
#define _A_H_

...
(内容)
...

#endif //ifdef _A_H_

还有,应该用#include "c.h"。。。。。

这个,包含c.cpp试试。。。。。。。。