#pragma once #include "std_lib_inc.h" #include "Util.h" #ifndef TASK_H #define TASK_H using util::Util; namespace models { class Task { private: int id; string name; string description; vector children; public: Task(const int& id, const string& name, const string& description, const vector& children); Task(); ostream& write(ostream& stream) const; istream& read(istream&); int get_id() const; string get_name() const; string get_description() const; vector get_children() const; friend ostream& operator<<(ostream& os, const Task& t); friend istream& operator>>(istream& is, Task& t); }; class AddTask : public Task{ private: public: AddTask(); AddTask(Task& t); friend ostream& operator<<(ostream& os, const AddTask& t); friend istream& operator>>(istream& is, AddTask& t); }; ostream& operator<<(ostream& os, const AddTask& t); istream& operator>>(istream& is, AddTask& t); ostream& operator<<(ostream& os, const Task& t); istream& operator>>(istream& is, Task& t); } #endif // TASK_H