#include #include #include "todolist.hpp" #include "task.hpp" using todo::Task; using todo::ToDoList; class X { public: Task tasks[2]; }; ToDoList morningList(const std::string&); int main(int argc, char *argv[]) { /* X x; x.tasks[0] = Task("Mwake", 1); x.tasks[1] = Task("brush", 2); std::cout << "copying X" << std::endl; X y = x; std::cout << "printing copy" << std::endl; y.tasks[0].print(std::cout); y.tasks[1].print(std::cout); std::cout << std::endl; */ Task coffee{"make coffee", 10}; Task drink{"drink coffee", 30}; Task walk{"walk to office", 20}; Task prep{"prepare for class", 60}; Task teach{"teach class", 75}; std::cout << "Making Monday" << std::endl; ToDoList monday{}; monday.add(coffee).add(drink); std::cout << "Making Wednesday" << std::endl; ToDoList wednesday = monday; wednesday.add(walk).add(prep).add(teach); std::cout << "Making Thursday" << std::endl; //ToDoList thursday = morningList("tea"); auto thursday = morningList("tea").add(Task("make more tea", 5)); std::cout << "Copying Monday" << std::endl; monday = morningList("coffee"); } ToDoList morningList(const std::string& drink) { ToDoList tea{}; tea.add(Task("make tea", 10)).add(Task("drink tea", 30)); ToDoList coffee{}; coffee.add(Task("make coffee", 10)).add(Task("drink coffee", 30)); if (drink == "tea") { return tea; } else { return coffee; } }