こちらでは以前もお世話になったことがあります。
が、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();
};-
Nikol
Re:クラスのデータ共有
ご回答ありがとうございます。
なるほど、そういう手がありましたか。
参考にさせていただきます。
もうひとついいでしょうか?
その構造体が配列されているばあい
(ex) Data data[10];
どのようにしたらよいのでしょうか?
なるほど、そういう手がありましたか。
参考にさせていただきます。
もうひとついいでしょうか?
その構造体が配列されているばあい
(ex) Data data[10];
どのようにしたらよいのでしょうか?