0
私のutilsクラスで私はプライベート解決策の文字列を持っています - それはコンストラクタ(ハードコードされた)で設定されます。私は文字列を返すゲッター関数を持っています。別のファイルでは、私はutilsインスタンス(ポインタ)を持っています。 getter関数を呼び出すと、空に戻ります。Getter関数が間違った値を返しますか?
main.cppに
utils* myUtils = new utils();
std::cout << myUtils->getSolutionDir() + " is the current directory" << std::endl;
delete myUtils;
utils.hpp
public:
utils();
~utils();
std::string getSolutionDir();
private:
std::string _solutionDir;
utils.cpp
utils::utils() {
std::string _solutionDir = "C:\\Users\\user\\Documents\\Coding\\CodeBlocks\\MettaRPG";
}
utils::~utils() {}
std::string utils::getSolutionDir() {
return _solutionDir;
}
OUTPUT(GCCコンパイラ):
をt彼は、現在のディレクトリ
'のstd ::文字列_solutionDir'は、あなたのメンバ変数をシャドウ。型宣言を省略します。 –
なぜここで 'new'と' delete'を使うのですか? 'utils myUtils;'と 'delete'も同様にします – user463035818
私はmyUtilsを依存性注入を使って別のクラスに渡したかったのです。パフォーマンスが向上すると思った。 – Melkor