0
在我的utils类中,我有一个私有解决方案dir字符串 - 它在构造函数(硬编码)中设置。我有一个getter函数返回字符串。在另一个文件中,我有一个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编译器):
是叔他当前目录
'在构造函数体的std :: string _solutionDir'阴影的成员变量。省略类型声明。 –
你有什么理由为什么在这里使用'new'和'delete'? 'utils myUtils;'和'delete'都不行 – user463035818
我想通过依赖注入将myUtils传递到另一个类中。我认为这会提高性能。 – Melkor