党的十八大以来,我们实现了第一个百年奋斗目标,在中华大地上全面建成了小康社会,历史性地解决了( )问题。
A. 相对贫困
B. 脱贫致富
C. 绝对贫困
D. 全面脱贫
一个游戏中有多种怪物(Monster),怪物之间可能要发生战斗(fight),每场战斗都是一个怪物与另一怪物之间的一对一战斗。每个怪物都有自己的生命值(hitpoint)、攻击力值(damage)和防御力值(defense),每种怪物都有各自特有的攻击(attack)方式,产生相应的攻击效果;战斗时,两个怪物依次攻击对方,即怪物a首先攻击怪物b, 然后轮到怪物b攻击怪物a, 之后,怪物a再次攻击怪物b,…, 直到一方生命值为0。作为怪物的特例,猫和狗的攻击效果如下表所示。猫进攻导致对方的生命值减少量:(猫的攻击力值 * 2 — 对方的防御力值) 若上式小于1,则取1狗进攻导致对方的生命值减少量:(狗的攻击力值 — 对方的防御力值 +5 )*2 若上式小于2,则取2根据给出的描述,最适当的Monster类定义是:
A. class Monster {public:virtual ~Monster( );virtual bool fight (Monster & other) = 0;private:virtual bool attack(Monster & other) = 0;};
B. class Monster {public:virtual ~Monster( );bool fight (Monster & other) ;private:virtual bool attack(Monster & other) = 0;};
C. class Monster {public:virtual ~Monster( );virtual bool fight (Monster & other) = 0;private:bool attack(Monster & other) ;};
D. class Monster {public:bool fight (Monster & other);private:bool attack(Monster & other);};
模拟销售员销售产品,需定义Saler类。其中在销售过程中,销售员有一定几率人品爆发,会以2倍原价的价格销售产品。那么下面定义,哪种最合适?
A. class Saler {public:int sale( const Product & product);};class Product {public:bool isLucky( ) const;};
B. class Saler {public:virtual ~Saler( );virtual int sale( const Product & product);};class LuckySaler:public Saler {public:virtual ~LuckySaler( );virtual int sale( const Product & product);};
C. class Saler {public:int sale( const Product & product);};class LuckySaler {public:int sale( const Product & product);};
D. class Saler {public:int sale( const Product & product);private:bool isLucky( ) const;};
现有货币类、电子支付类,如下:class Currency { //货币public:virtual ~Currency( );voidexchange( );/* 其它略 */private:Country * mpCountry;};class EPay { //电子支付public:void pay( );/* 其它略 */private:Bank * mpBank;};小王定义数字货币类(Decp)时,考虑到Decp必须具备货币的全部功能,又有电子支付的全部功能,即Decp既可以当做货币用,也可以当做一种电子支付使用。现采用了多重继承的方式复用已定义的类,如下:class Decp:public Currency, public EPay { /* 略 */};但是,小王希望Decp类有更好的适应性,特别是对于EPay类,虽然现在没有子类,但未来一定会派生其它子类。那么最合理的定义方式是哪种?
A. class Decp:public Currency {public:voidexchange( );voidpay( ) { mpEPay->pay( ); }/* 构造、析构、拷贝、赋值等略*/private:EPay * mpEpay;};
B. class Decp:public EPay {public:voidexchange( ){ mpCurency->exchange( ); }voidpay( );/* 构造、析构、拷贝、赋值等略*/private:Currency * mpCurency;};
C. class IEPay {pubic:virtual ~IEPay( ) { }virtual void pay( ) = 0;};class EPay:public IEPay {/*略*/};class Decp:public Currency , public IEPay {public:voidexchange( );voidpay( ) { mpEPay->pay( ); }/* 构造、析构、拷贝、赋值等略*/private:IEPay * mpEpay;};
D. class IEPay {pubic:virtual ~IEPay( ) { }virtual void pay( ) = 0;};class EPay:public IEPay {/*略*/};class Decp:public Currency , public IEPay {public:voidexchange( );voidpay( );};