我有一个类,其中包含一个结构。我在类上有一个方法,它创建了这个结构的新对象,将它作为指针返回。
我在这个类中有另一个方法,它接受一个指向这个结构的指针并打印出它的数据。
唯一的问题是,当我尝试打印出来时,控制台中会出现一些奇怪的文本。
代码示例(不是实际代码,而是它的原理):
// Header
class TestClass
{
public:
struct TestStruct
{
int ID;
string Name;
};
TestClass::TestStruct* CreateStruct(string name, int id);
void PrintStruct(TestClass:TestStruct* testStruct);
}
// C++ File
TestClass::TestStruct* TestClass::CreateStruct(string name, int id)
{
TestStruct testStruct;
testStruct.ID = id;
testStruct.Name = name;
TestClass::TestStruct *pStruct = &testStruct;
return pStruct;
};
void TestClass::PrintStruct(TestClass::TestStruct* testStruct)
{
cout << (testStruct)->ID << "\n";
cout << (testStruct)->Name << "\n";
};
int Main()
{
TestClass tClass;
tClass.PrintStruct(tClass.CreateStruct("A name", 1));
}