最近發現找到解法了,就是再加一個Fight_classes_define.h把需要的東西先定義出來然後,大家都引用這個檔就會互相可見了~
class Skill;
class FightManger;
class Role;
只要是指標就可以用,如果是實體就不行了。
之後每個cpp檔都可以正確的引用.h檔了
#include "FightManger.h"
#include "Scenery.h"
#include "Role.h"
#include "Skill.h"

================================================

最近畫uml時用了自動產生的程式碼才遇到的問題,

可以看到FightManger要include Role 跟 Skill
Role要include Skill
Skill要include Role
這時就會出現一個問題
因為.h只會引用一次,所以Role會在FightManger引用過,可是Role中的Skill不知道,所以就會錯誤,
同理Skill也不知道有Role所以也會錯,這真是程式設計的難題,個人覺得解決的方法可能要用命名空間之類的了。
所以Skill中不可以有Role相關物件,Role也不能有Skill相關物件,剛好只能用工廠模式了。

arrow
arrow
    全站熱搜

    讓地獄深紅的天亮 發表在 痞客邦 留言(0) 人氣()