私はゲーム用の基本レイアウトを作成しています。メインファイルからクラスを分離し、2つの新しいファイルを作成する経験はほとんどありません(実装ファイル、.hファイル)。私はどういうわけか分裂のいくつかを混乱させ、正確にどこが間違っているのか分かりません。私はまた、私のメインでこれらの2つの新しいファイルからオブジェクトを作成する方法を考え出すのに問題があります。たとえば、ORIGINALクラスを表示し、次に.hを、次に.cppを表示します。私のヘッダーファイルとC++の実装ファイルに問題があります
******元のクラス******
class Character{
public:
string name;
int health;
Character(){
setName("Unknown Caster");
setHealth(20);
}
Character(string name, int health){
setName(name);
setHealth(health);
}
void setName(string x){
cout << "What is your name?" << endl;
cin >> x;
name = x;
}
int setHealth (int health){
if(health < 0){
health = 0;
}
this-> health = health;
return health;
}
string getName(){
return name;
}
};
***** ORIGINALクラスの最後*****
*****開始.hファイル*****
#ifndef Character_h
#define Character_h
using namespace std;
class Character{
public:
string name;
int health;
Character();///default constructor
Character(string name, int health);
void setName(string x){
}
int setHealth (int health){
}
string getName(){
return name;
}
};
#endif
***** .Hファイルの終わり*****
***** .cppファイルの始まり*****
.cppファイルの **** END *****
私のコードは、私は2つの異なるファイルに1つのクラスを分離する前に、比較的スムーズに実行していたので、私は、私はそれをやったことを信じるように傾斜しています間違って私の質問は次のとおりです。私は何を間違えたのですか?私のメインでこのクラスのオブジェクトを作る方法は?事前にお時間をいただきありがとうございます!あなたは、ヘッダーおよびCPPを分割
ヘッダーファイルに 'using namespace std;'を入れないでください。 – PaulMcKenzie
[The Definitive C++ Book Guide and List](http://stackoverflow.com/q/388242/1889329)をご覧ください。 – IInspectable
ヘッダーファイルの空の関数本体について教えてください。関数の宣言は 'void setName(string x);' void setName(string x){} 'のようになります。 – NathanOliver