2012-08-14 80 views
1

哪個類更適合未來的實現?突擊捕食者(多重繼承)還是皇后(多層次等級)?哪個球員級別通過更好的層級創建?

#include "stdafx.h" 
#include<stdlib.h> 

class living 
{ 
public: 
    int hitpoints; 
    int adaptation; 
}; 

class alien:public living 
{ 
public: 
    bool tail; 
    bool claws; 
    bool legs; 
    bool secondary_jaws; 
    bool acid_blood; 
    alien(){adaptation=1000;hitpoints=50;} 
}; 

class queen:public alien 
{ 
public: 
    bool ovipositor; 
    bool tertiary_jaws; 
}; 

class predator 
{ 
public: 
    bool legs; 
    bool arms; 
    bool glowstick_blood; 

}; 

class assault_predator:public living,public predator 
{ 
public: 
    bool plasma_caster; 
    bool infrared_vision; 
    assault_predator(){hitpoints=150;adaptation=33;} 
}; 


int main() 
{ 
    assault_predator player1; 
    queen player2; 

    getchar(); 
    return 0; 
    } 

如所看到的,攻擊捕食從捕食單獨導出。女王衍生自外星人和外星人衍生自生活

問題:哪一個更符合編程和類層次結構

有什麼是缺點&這些球員的優點?

+2

而不是在'外星人'級別中佈置5個布爾人,在'女王'班中佈置2個布爾人,顯然你應該有32個不同的外星人類別和128個不同的女王班級; – fredoverflow 2012-08-14 14:05:44

+0

詢問「利弊」和「哪一個更容易接受「,不能更符合」可能引發辯論的問題「的概念。」有沒有更具體的你想要在這裏研究或學習? – djechlin 2012-08-14 14:06:21

+0

我不知道什麼是「在編程和類層次結構方面合乎邏輯」,但我很確定捕食者應該從生活中衍生出來。類層次**應該反映你的問題域**。多重繼承可能會給你帶來模棱兩可的問題,但是如果沒有辦法,你應該使用它。 – 2012-08-14 14:07:09

回答

1

他們只是不同。多重繼承允許您將單獨的對象合併爲一個。多級繼承允許進一步指定類型。