我是cpp的新手,所以我想问几个问题。 如此渴望我的代码:
main.cpp中:
int main()
{
App app;
app.Start();
return 0;
}
App.cpp
void App::Start()
{
Doc doc;
Element TempElement;
for (;;)
{
// loop which runs menu and so on
// Adding new element to vector:
cout << "Input data" << endl;
cin >> temp_string;
TempElement.Set_some_data(temp_string);
doc.Add_item(&TempElement);
}
}
Doc.cpp
vector <Element> MyElements; //before any methods
void Doc::Add_item(Element *TempElement)
{
MyElements.push_back(*TempElement);
}
Element.cpp是我想要存储在vector中的对象的基本类(在Doc类中)
它有效,但我有几个问题:
答案 0 :(得分:0)
我会改变
void Doc::Add_item(Element *TempElement)
{
MyElements.push_back(*TempElement);
}
到
void Doc::Add_item(Element const& tempElement)
// ^^^^^^^ Use const& instead of pointer.
{
MyElements.push_back(tempElement);
}
并相应地将呼叫更改为:
doc.Add_item(TempElement);