- 1 : 2022/01/11(火) 17:16:50.075 ID:XIvX6494M
-
デザインパターンのStateってやつを勉強してるんだけど
動的オブジェクトにして動かす方法が分からない
詳しい人教えてほしい - 2 : 2022/01/11(火) 17:20:13.647 ID:XIvX6494M
-
親クラス
Class OYA{
int x
}子クラス
class MUSUKO :OYA{
}子クラスその2
class MUSUME :OYA{
}こんなイメージ
スマホで打ってるから間違ってたらメンゴ
子クラスMUSUKO→子クラスMUSUMEに変更したいんだけど上手くいかん - 3 : 2022/01/11(火) 17:20:39.390 ID:XIvX6494M
-
アップキャストとダウンキャストすればいいって分かったんだけどなんか上手くいかなかった
- 4 : 2022/01/11(火) 17:21:35.747 ID:XIvX6494M
-
子クラスMUSUKOから親クラスOYAにダウンキャストして
親クラスOYAから子クラスMUSUMEにアップキャストすればいいんでしょ?
これ違う? - 5 : 2022/01/11(火) 17:23:34.063 ID:ESuNukR6d
-
ポリモーフィズム
- 6 : 2022/01/11(火) 17:24:06.009 ID:XIvX6494M
-
>>5
なにそれ? - 7 : 2022/01/11(火) 17:24:46.341 ID:XIvX6494M
-
stateのデザインパターンを参考にしてるけどこれ上手くいかんわ
- 8 : 2022/01/11(火) 17:24:53.937 ID:XIvX6494M
-
誰か詳しい人いない?
- 9 : 2022/01/11(火) 17:26:04.098 ID:lmrZ/uny0
-
ポリモーフィズムについて調べた?
- 12 : 2022/01/11(火) 17:28:58.625 ID:XIvX6494M
-
>>9
今調べた
なるほどやりたいことに名前がついてるんだね - 11 : 2022/01/11(火) 17:26:31.095 ID:ESuNukR6d
-
こうしたいんやろしらんけど
- 13 : 2022/01/11(火) 17:30:49.098 ID:XIvX6494M
-
>>11
そうそうすごいそれ
そこから息子→娘にしたいの
クラス中の変数の値を引き継がせてやりたいけど見つからん - 14 : 2022/01/11(火) 17:31:47.224 ID:gcxD3MMC0
-
ポインタが分からなかったわ
- 16 : 2022/01/11(火) 17:34:29.345 ID:XIvX6494M
-
>>14
これから分かるんだよ - 15 : 2022/01/11(火) 17:34:19.372 ID:XIvX6494M
-
親子管理クラスを作ったら
class OYAKOKAN{
public:
OYA* hensu;
OYAKOKAN(void):hensu(new MUSUKO){
}
void musumeni_change (void){
ここの中身が上手く書けない
}
}自分が書いたのは
this->hensu =ダイナミックキャスト<*OYA>(this->hensu);
this->hensu =new MUSUME(); - 17 : 2022/01/11(火) 17:36:18.559 ID:XIvX6494M
-
生理中で頭痛いんだけど先輩社員が教えてくれないんだ
多分説明が下手だから教えられないと思ってるんかねえ
これさっさと片付けて次行きたいのに - 18 : 2022/01/11(火) 17:36:43.626 ID:XIvX6494M
-
詳しい人いない?
頼むわ教えてくれ - 19 : 2022/01/11(火) 17:37:55.253 ID:XIvX6494M
-
頼む
教えてほしい - 20 : 2022/01/11(火) 17:39:20.793 ID:ESuNukR6d
-
stateってそういう使い方するものなの?
- 23 : 2022/01/11(火) 17:40:24.205 ID:XIvX6494M
-
>>20
わからんなあ
取り敢えず今やってるやつはstateを元にしてくれって言われたから - 25 : 2022/01/11(火) 17:42:24.660 ID:ESuNukR6d
-
>>23
stateは状態遷移的な意味での状態であってその内部に状態(変数)は持つべきじゃないと思う - 26 : 2022/01/11(火) 17:44:15.994 ID:XIvX6494M
-
>>25
そうなんか
自分も状態を遷移するときに変数引っ張ってきて引数に与える方法でええんか?ってきいたら
キャスト使ってやれって言われたからさあ - 21 : 2022/01/11(火) 17:39:45.191 ID:ESuNukR6d
-
外でもつべきじゃない?
- 22 : 2022/01/11(火) 17:39:55.716 ID:ESuNukR6d
-
データは
- 24 : 2022/01/11(火) 17:41:10.202 ID:XIvX6494M
-
>>22
アップキャストとダウンキャスト使えば出来るって言ってた
なお方法は教えらんないとか - 27 : 2022/01/11(火) 17:44:36.679 ID:chMMJLXaF
-
>>24
それだったらstateパターンなんて高級なもの使わなくてもif分岐でいいじゃん - 28 : 2022/01/11(火) 17:46:30.173 ID:XIvX6494M
-
>>27
どうやるん?
教えてくれ - 30 : 2022/01/11(火) 17:49:34.509 ID:ESuNukR6d
-
のがStateパターンのやろうとしてることだと思う
- 31 : 2022/01/11(火) 17:50:52.370 ID:XIvX6494M
-
>>30
うん
そうだよね
調べる感じ切り替えるときもthis->オブジェクトを消してから別のを引っ張ってきてるでもそれじゃ内部の変数引き継げないからなあ
- 33 : 2022/01/11(火) 17:53:21.527 ID:ESuNukR6d
-
>>31
たぶんStateパターンを適用するところが間違ってる気がする - 32 : 2022/01/11(火) 17:51:27.349 ID:ESuNukR6d
-
Data d = Data(1, 2, new Add());
d.state.doOp(); // = 3d.state = new Mul();
d.state.doOp(); // = 2
コメント