题目内容

class Wepon {public:virtual ~Wepon( ) { }virtual int attack( ) const =0;};class Horse {public:virtual ~Horse( ) { }virtual int speed( ) const =0;};class Ultraman {public:void fight(Monster& m,Wepon & w, Horse& h) {int v1 = w.attack( );int v2 = h.speed( );/*其它略*/}};已知:会有多种类型的Wepon,各种Wepon攻击力的计算方法和数值都不一样;会有多种类型的Horse,各种Horse的速度的计算方法和数值都不一样;现希望重新定义Ultraman类,并仍能适应Wepon和Horse的变化,那么下面的定义,哪个是可以的?

A. class Ultraman {public:Ultraman(Horse & horse):mh(horse) { }void fight(Monster& m,Wepon & w) {int v1 = w.attack( );int v2 = mh.speed( );/*其它略*/}private:Horse mh;};
B. class Ultraman {public:Ultraman(Wepon& w):mw(&w) { }void fight(Monster& m,Horse & h) {int v1 = mw->attack( );int v2 = h.speed( );/*其它略*/}private:Wepon * mw;};
C. class Ultraman {public:void fight(Monster& m) {int v1 = mw.attack( );int v2 = mh.speed( );/*其它略*/}private:Horse mh;Wepon mw;};
D. class Ultraman:public Wepon {public:void fight(Monster& m,Horse & h) {int v1 = attack( );int v2 = h.speed( );/*其它略*/}};

查看答案
更多问题

现要开发一个模拟“飞行棋”的游戏。每个玩家"飞行"时,先通过掷骰子(Dice)决定前进几步,然后再移动。考虑到当前还处于游戏早期开发阶段,那么下面哪个Player类的设计和实现最合适?

A. class Player {public:virtual ~Player( ) { }virtual void play( Dice & aDice ) {int steps = aDice.cast( );...}};
B. class Player {public:virtual ~Player( ) { }virtual void play( ) {int steps = Dice::getInstance( ).cast( );...}};
C. class Player {public:virtual ~Player( ) { }virtual void play( ) {int steps = sDice.cast( );...}private:static Dice sDice;};
D. class Player {public:virtual ~Player( ) { }virtual void play( ) {int steps = DiceManager::getDice( ).cast( );...}};
E. class Player {public:virtual ~Player( ) { }virtual void play( ) {int steps = mDice.cast( );...}private:Dice mDice;};

类A中有数据成员 T * p[3];,那么下面关于T的类型的说法,有几个是正确的?1. T 可以是 A.2. T 可以是A的祖先类.3. T 可以是具体类,也可以是抽象类.4. T 可以是A的其它子类.5. T 可以是内置类型,也可以是自定义的类.6. T 可以是自定义类C,也可以是 C *.

A. 3
B. 4
C. 5
D. 6

在定义类A的非静态成员函数func时,有时需要定义成虚的,有时又需要定义成非虚的。那么,关于什么时候定义成虚函数的说法,错误的是:

A. 若类A有可能派生其它子类,无论func是否为虚的,类A中都应定义虚的析构函数
B. 若类A继承自一个接口类,那么类A的func函数就应定义成虚的
C. 若需要类A的后裔类也具有func行为,但其行为过程不同于类A,那么类A的func函数应定义成虚的
D. 若类A本身就是一个接口类,那么那么类A的func函数应定义成虚的

与第二次世界大战前的资本主义相比,当代资本主义在许多方面已经并正在发生着深刻的变化。正确分析这些新变化发生的原因,有利于我们科学而全面地认识当代资本主义社会。导致当代资本主义新变化发生的根本推动力量是()。

A. 主张改良主义的政党对资本主义制度的改革
B. 工人阶级争取自身权利和利益的斗争
C. 科学技术革命和生产力的发展
D. 社会主义制度初步显示的优越性对当代资本主义产生了重要影响

答案查题题库