我有純虛函數和我想一個定義的基類創建矢量知道如果其能夠實現以下功能的readFromFile()
以下列方式:C++模板或+操作員從指針
class Model {
time_t changedateTime;
virtual void writeToFile(std::string fileName, Model* model) = 0;
virtual std::vector<Model*> readFromFile(std::string fileName) = 0; <-- Is that possible, a
vector of its own class pointer
}
型號的真正實現:
class Customer : pubic Model {
std::string Name;
std::string Address;
}
或
class OrderItem : pubic Model {
std::string Item;
std::string Price;
}
而且比寫入文件和讀取到文件執行:
void Model::writeToFile(std::string fileName, Model* model)
{
.... opens the file....
... append model to the end of file....
... close file...
}
std::vector(Model*) Model::readFromFile(std::string fileName, Model* model)
{
.... opens the file fileName...
...get several lines of data to add to returning vector...
std::vector(Model*) returnVector;
Model* newModel = new Something <--- How can I create here a new class of
the type I want to add to the vector??????
}
I'm stucked在這裏創作從繼承的模型類型的新對象,將其添加到矢量返回(returnVector
)。
我不知道如果解決方案會defing一個+ operator
在Model
類,或使用C++ template
,甚至是別的東西.. I'm從C#來了,在那裏我會很容易在這裏使用<T>
泛型類型。
事實上,我需要幫助才能更進一步,非常感謝專家的評論。
是的。糾正。 – Mendes