クラス「プレーヤー」があります。そのメンバーは単純な文字列と整数であり、これらのそれぞれにゲッターとセッターがあります...基本的なもの: (メンバーがたくさんあるので、コードを縮小するために 3 を指定しました):
PLAYER.H
class Player
{
private:
string Name;
string Role;
int FFDefence;
......etc
public:
//constructor function
Player(
string Name = "Not Stated",
string vRole = "Not Stated",
int vFFDefence = 0,
......etc
)
//Getter Functions
string GetName() const;
string GetRole() const;
int GetFFDefence() const;
.....etc
//Setter Functions
void SetName (string x);
void SetRole(string x);
void SetFFDefence(int x);
......etc
};
PLAYER.CPP
Player::Player( string vName,
string vRole,
int vFFDefence,
......etc
{
Name = vName;
Role = vRole;
FFDefence = vFFDefence,
......etc
}
//getter functions
string Player::GetName() const {return Name; };
string Player::GetRole() const {return Role; };
int Player::GetFFDefence() const {return FFDefence; };
.....etc
//Setter Functions
void Player::SetName(string x) { Name = x ; };
void Player::SetRole(string x) { Role = x ; };
void Player::SetFFDefence(int x) { FFDefence = x ; };
......etc
そうそう-かなり標準的なものです...今、私はメンバー関数の1つがプレーヤークラス自体である2番目のクラスを持っています。
BATTER.H
class Batter
{
private:
Player ID;
int Touch;
....etc
public:
Batter(Player vID, int vTouch = 0....etc);
//Getter Functions
string GetRole() const;
int GetFFDefence() const;
int GetBFDefence() const;....and so on.
OK - それは邪魔にならないコードです!!!!
だから私は変数を出し入れするという点で私が望むすべてをやらせました....だから私は作成することができます
Player Dave ("Dave", "Opener", 98, ....etc)
その後(必要なときに)作成します
Batter OnStrike (Dave, 10, .....etc)
すべての肉汁....OKなので、継承を調べ始めて、これが私がすべきことだと気づきました....逆変換は問題ではありません(先日、配列とベクトルでこれを行いました)...
これが私の問題です:
私が今持っているもので、私は「Player Dave」を作成し、必要なときにいつでも彼を Batter のサブクラスに渡すことができます。従来の継承で同じことを行うにはどうすればよいですか? Player の特定のインスタンス (作成済み) を取得し、それを子クラス Batter の特定のインスタンスの親として使用するにはどうすればよいですか? 現時点で推測できる限り、両方を同時に作成する必要があります。