私はまだ C++ に慣れていないので、私の質問が耐えられないほど明白である場合はご容赦ください。RPG ゲームをコーディングしようとしています。現時点ではすべてがうまくコンパイルされていますが、ゲームが開いたときにすべてのオブジェクト (ユニット クラス、アイテムなど) をどのようにロードするかを考える必要があります。
ヘッダー ファイルで extern を使用する DLL およびグローバル オブジェクトに関するスレッドを見たことがありますが、どの方法が最も実用的/効率的であるか疑問に思いました。(ゲーム自体が非常に大きくなるだけなので)
現状では、私のコードは非常に不格好で、適切に実装されていません (別の関数でオブジェクトを宣言するために関数を使用しようとする前に、考えもしませんでした。なぜアクセスできないのか疑問に思いました)。オブジェクトをインスタンス化するために main() でオブジェクトを宣言する必要があります (以下を参照)。
#include <iostream>
#include <string>
#include "Unit.h"
#include "UClass.h"
using namespace std;
// Seperate function at program start to load class list.
void loadClass(UClass& obj)
{
obj.load("Peasant");
}
int main() {
//Load classes...
cout << "Creating peasant...\n";
UClass peasant;
loadClass(peasant);
cout << peasant.show() << endl;
cout << "\nCreating unit...\n";
Unit man;
man.SetLvl();
man.SetClass(peasant);
man.ShowInfo();
return 0;
}
申し訳ありませんが、これは複数ファイル プロジェクトでの私の最初の試みであり、事前に感謝します!