こちらでは以前もお世話になったことがあります。
が、HNを忘れてしまいましたのでNikolと名乗らせていただきます。
質問なのですが、例えば以下のような配置
[メインプログラム]-->--[キャラクター管理クラス]
-->--[戦闘管理クラス]
-->--[マップ管理クラス]
そして以下の構造体データ(例)
char name;
char job;
int hp, mp;
この構造体データをキャラクター管理クラスが保持しているとして、
そのデータをメインプログラムで保持、
そしてそのほかのクラスで使用したいとおもっているのですが、
int型はreturnを駆使することでどうにかなるのですが、
char型はどのようにしたらよいのでしょうか?
また、もっと手軽に構造体を共有できる方法はないのでしょうか?
ご回答おねがいします。
クラスのデータ共有
Re:クラスのデータ共有
クラスという言葉を使っているのでC++で作っていると判断しました。
詳細がわからないので適当に組んでみました。
意識したのは以下の部分です。
>この構造体データをキャラクター管理クラスが保持しているとして、
>そのデータをメインプログラムで保持、
>そしてそのほかのクラスで使用したいとおもっているのですが、
詳細がわからないので適当に組んでみました。
意識したのは以下の部分です。
>この構造体データをキャラクター管理クラスが保持しているとして、
>そのデータをメインプログラムで保持、
>そしてそのほかのクラスで使用したいとおもっているのですが、
#include <iostream> struct Data { char name; char job; int hp, mp; }; class Charactor { public: Data data; void setData(){ data.name = 'A'; data.job = 'b'; data.hp = 3; data.mp =1; } }; class War { public: Data *p_data; War(Data *data) { this->p_data = data; } void showData() { std::cout << "data.name: " << this->p_data->name << std::endl; std::cout << "data.job: " << this->p_data->job << std::endl; std::cout << "data.hp: " << this->p_data->hp << std::endl; std::cout << "data.mp: " << this->p_data->mp << std::endl; } }; int main() { Charactor chara; War war(&chara.data); chara.setData(); war.showData(); };
Re:クラスのデータ共有
ご回答ありがとうございます。
なるほど、そういう手がありましたか。
参考にさせていただきます。
もうひとついいでしょうか?
その構造体が配列されているばあい
(ex) Data data[10];
どのようにしたらよいのでしょうか?
なるほど、そういう手がありましたか。
参考にさせていただきます。
もうひとついいでしょうか?
その構造体が配列されているばあい
(ex) Data data[10];
どのようにしたらよいのでしょうか?