#include <QtCore/QCoreApplication>
#include <vector.h>
#include <iostream.h>
class PMTask
{
protected:
QString startDate;
QString deadlineDate;
public:
PMTask * setStartDate(QString start)
{
this->startDate = start;
return this;
}
PMTask * setDeadline(QString deadline)
{
this->deadlineDate = deadline;
return this;
}
QString getStartDate()
{
return this->startDate;
}
QString getDeadline()
{
return this->deadlineDate;
}
//...
};
class PMProject
{
protected:
std::vector<PMTask> taskList;
public:
PMTask* addTask(PMTask task)
{
this->taskList.push_back(task);
return &this->taskList[this->taskList.size() - 1];
}
PMTask* getTask(int position)
{
if (this->taskList.size() > position)
{
return &this->taskList[position];
}
else return NULL;
}
std::vector<PMTask> * getTaskList()
{
return &this->taskList;
}
//...
};
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
PMProject SomeProject;
PMTask * buftask;
buftask = SomeProject.addTask(PMTask());
buftask->setStartDate("10/10/2010")->setDeadline("10/10/2011");
cout << "Task dates: "
<< buftask->getStartDate().toStdString()
<< " - "
<< buftask->getDeadline().toStdString()
<< endl;
// other way
cout << "Task dates 2: "
<< SomeProject.getTask(0)->getStartDate().toStdString()
<< " - "
<< SomeProject.getTask(0)->getDeadline().toStdString()
<< endl;
return a.exec();
}