Answered step by step
Verified Expert Solution
Question
1 Approved Answer
3 . 4 i t ng di chuy n Abstract class MovingObject c s d ng bi u di n c c i t ng
i tng di chuyn Abstract class MovingObject c s dng biu din cc i tng di chuyn trong chng trnh nh Sherlock, Watson, tn ti phm Yu cu: Hin thc abstract class MovingObject vi cc m t sau: Cc thuc tnh protected: index: kiu int, v tr ca i tng di chuyn trong mng cc i tng di chuyn mng ny sc m t sau. pos: kiu Position, v tr hin ti ca i tng di chuyn map: kiu Map bn cho i tng ny di chuyn trong name: kiu string, tn ca i tng di chuyn Phng thc khi to Constructor public vi cc tham s index, pos, map, name c ngha ging vi thuc tnh c cng tn Phng thc gn gi tr ca tham s cho thuc tnh cng tn Ring tham s name c gi tr mc nh l MovingObjectint index, const Position pos, Map map, const string k name Phng thc hy o virtual destructor vi quyn truy cp public. Phng thc o thun tpure virtual method getNextPosition tr v Position tip theo mi tng ny di chuyn n Mt khc trong trng hp khng c Position no i tng di chuyn n ta nh ngha mt gi tr tr v cho phng thc ny v lu trong bin npos ca class Position. Khi khng c Position di chuyn n th phng thc tr v npos. virtual Position getNextPosition; Pure virtual method getCurrentPosition tr v Position hin ti ca i tng di chuyn Position getCurrentPosition const ; Pure virtual method move thc hin bc di chuyn ca i tng Pure virtual method str tr v chui biu din thng tin ca i tng virtual string const ; Yu cu: nh ngha bin npos not position trong class Position biu din rng khng c v tr no i tng di chuyn n Bin npos c v Khai bo ca bin nh sau: static const Position npos; Yu cu: Trong class Map, nh ngha phng thc isValid kim tra v tr pos c phi l mt v tr hp l cho i tng mv obj di chuyn n Mt v tr hp l cho vic di chuyn phi ph thuc vo i tng di chuyn l g v thnh phn bn V d Sherlock c th di chuyn trn FakeWall nhng Watson th cn tha yu cu v EXP. SV cn tm c m t trong BTL ny hin thc phng thc cho ng bool isValidconst Position & pos, MovingObject mvobj const; Watson Class Watson biu din cho nhn vt Watson trong chng trnh Class Watson nhn class MovingObject lm lp t tin ancestor class Yu cu: SV hin thc class Watson tng t nh class Sherlock. Tuy nhin class Watson c s thay i nh sau: Tham s name ca Constructor MovingObject c truyn vo gi tr "Watson". Phng thc str tr v chui cnh dng nh sau: Cc thnh phn c ngha tng t nh trong class Sherlock. Tn ti phm Class Criminal biu din cho nhn vt tn ti phm trong chng trnh Class Criminal nhn class MovingObject lm lp t tin ancestor class Tn ti phm c camera theo di c Sherlock v Watson trong m cung ny Do khc vi cch di chuyn ca cp i thm t tn ti phm s la chn v tr di chuyn tip theo l v tr hp l c tng khong cch n Sherlock v Watson l ln nht Trong BTL ny khi ni n khong cch ta ang s dng khong cch Manhattan. Khong cch Manhattan gia im P c ta v P c ta l: Trong trng hp c nhiu hn v tru c tng khong cch n Sherlock v Wton l ln nht thu tin chn v tr theo th t cc hng i ULDR Yu cu: Hin thc class Criminal tng t nh class Sherlock vi cc s thay i nh sau: Constructor publicc khai bo nh bn di Mt s tham s c ngha tng t nh class Sherlock. Mt sim khc nhau l: sherlock, watson ln lt l con trn i tng Sherlock v Watson. Thng qua con tr ta c th ly c v tr hin ti ca hai nhn vt ny Tham s name ca Constructor MovingObject c truyn vo gi tr "Criminal". Phng thc str tr v chui cnh dng nh sau: Mng cc i tng di chuyn Class ArrayMovingObject biu din mt mng cc i tng di chuyn Khi chng trnh chy mng ny c duyt tu n cui v gi phng thc move ca mi phn t mi i tng thc hin bc i Yu cu: Hin thc class ArrayMovingObject vi cc yu cu sau: Cc thuc tnh private: arrmvobjs: mng cc i tng di chuyn MovingObject Mi phn t trong mng cn th hin c tnh a h
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started
i tng di chuyn
Abstract class MovingObject c s dng biu din cc i tng di chuyn trong chng
trnh nh Sherlock, Watson, tn ti phm
Yu cu: Hin thc abstract class MovingObject vi cc m t sau:
Cc thuc tnh protected:
index: kiu int, v tr ca i tng di chuyn trong mng cc i tng di chuyn
mng ny sc m t sau.
pos: kiu Position, v tr hin ti ca i tng di chuyn
map: kiu Map bn cho i tng ny di chuyn trong
name: kiu string, tn ca i tng di chuyn
Phng thc khi to Constructor public vi cc tham s index, pos, map, name c
ngha ging vi thuc tnh c cng tn Phng thc gn gi tr ca tham s cho thuc
tnh cng tn Ring tham s name c gi tr mc nh l
MovingObjectint index, const Position pos, Map map, const string k
name
Phng thc hy o virtual destructor vi quyn truy cp public.
Phng thc o thun tpure virtual method getNextPosition tr v Position tip
theo mi tng ny di chuyn n Mt khc trong trng hp khng c Position no
i tng di chuyn n ta nh ngha mt gi tr tr v cho phng thc ny
v lu trong bin npos ca class Position. Khi khng c Position di chuyn n th
phng thc tr v npos.
virtual Position getNextPosition; Pure virtual method getCurrentPosition tr v Position hin ti ca i tng di
chuyn
Position getCurrentPosition const ;
Pure virtual method move thc hin bc di chuyn ca i tng
Pure virtual method str tr v chui biu din thng tin ca i tng
virtual string const ;
Yu cu: nh ngha bin npos not position trong class Position biu din rng khng
c v tr no i tng di chuyn n Bin npos c v Khai bo ca bin
nh sau:
static const Position npos;
Yu cu: Trong class Map, nh ngha phng thc isValid kim tra v tr pos c phi
l mt v tr hp l cho i tng mv obj di chuyn n Mt v tr hp l cho vic di chuyn
phi ph thuc vo i tng di chuyn l g v thnh phn bn V d Sherlock c th
di chuyn trn FakeWall nhng Watson th cn tha yu cu v EXP. SV cn tm c m t
trong BTL ny hin thc phng thc cho ng
bool isValidconst Position & pos, MovingObject mvobj const; Watson
Class Watson biu din cho nhn vt Watson trong chng trnh Class Watson nhn class
MovingObject lm lp t tin ancestor class
Yu cu: SV hin thc class Watson tng t nh class Sherlock. Tuy nhin class
Watson c s thay i nh sau:
Tham s name ca Constructor MovingObject c truyn vo gi tr "Watson".
Phng thc str tr v chui cnh dng nh sau:
Cc thnh phn c ngha tng t nh trong class Sherlock.
Tn ti phm
Class Criminal biu din cho nhn vt tn ti phm trong chng trnh Class Criminal
nhn class MovingObject lm lp t tin ancestor class Tn ti phm c camera theo di
c Sherlock v Watson trong m cung ny Do khc vi cch di chuyn ca cp i thm
t tn ti phm s la chn v tr di chuyn tip theo l v tr hp l c tng khong cch n
Sherlock v Watson l ln nht Trong BTL ny khi ni n khong cch ta ang s dng
khong cch Manhattan. Khong cch Manhattan gia im P c ta v P
c ta l:
Trong trng hp c nhiu hn v tru c tng khong cch n Sherlock v Wton
l ln nht thu tin chn v tr theo th t cc hng i ULDR
Yu cu: Hin thc class Criminal tng t nh class Sherlock vi cc s thay i
nh sau:
Constructor publicc khai bo nh bn di Mt s tham s c ngha tng t
nh class Sherlock. Mt sim khc nhau l: sherlock, watson ln lt l con trn i tng Sherlock v Watson. Thng qua
con tr ta c th ly c v tr hin ti ca hai nhn vt ny
Tham s name ca Constructor MovingObject c truyn vo gi tr "Criminal".
Phng thc str tr v chui cnh dng nh sau:
Mng cc i tng di chuyn
Class ArrayMovingObject biu din mt mng cc i tng di chuyn Khi chng trnh
chy mng ny c duyt tu n cui v gi phng thc move ca mi phn t mi
i tng thc hin bc i
Yu cu: Hin thc class ArrayMovingObject vi cc yu cu sau:
Cc thuc tnh private:
arrmvobjs: mng cc i tng di chuyn MovingObject Mi phn t trong
mng cn th hin c tnh a h
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started