Как реализовать категорию для элементов коллекции?
пытаюсь написать простую программку для ведения списка дел. запутался на моменте как лучше смоделировать в программе понятие категории для каждой из задач. в такс-менеджерах которые пробовал пользовать обычно каждой задаче можно присвоить больше одной категории.
пока думал о варианте записать категорию через перечисление (enum). но enum вроде может хранить только целочисленные значения, а не строки
буду благодарен за Ваши подсказки о том, как это можно сделать
Код:
#include <iostream>
#include <string>
#include <vector>
#include <stdlib.h>
class Task {
private:
std::string task_name;
std::vector <std::string> category;
public:
Task(std::string);
void addCategory(std::string);
void printAllCategory(void);
};
Task::Task(std::string name){
task_name = name;
}
void Task::addCategory(std::string name){
category.push_back(name);
}
void Task::printAllCategory(void){
std::cout << "Task Name : " << task_name << std::endl;
for(unsigned i=0;i<category.size();i++)
std::cout << "Category[" << i+1 << "] : " << category[i] << std::endl;
}
int main(int argc, char** argv) {
Task *task1 = new Task("Work"), *task2 = new Task("Home");
task1->addCategory("money");
task1->addCategory("job");
task1->addCategory("shirk");
task2->addCategory("beer");
task2->addCategory("sex");
task1->printAllCategory();
task2->printAllCategory();
delete task2;
delete task1;
system("pause");
return 0;
}
#include <string>
#include <vector>
#include <stdlib.h>
class Task {
private:
std::string task_name;
std::vector <std::string> category;
public:
Task(std::string);
void addCategory(std::string);
void printAllCategory(void);
};
Task::Task(std::string name){
task_name = name;
}
void Task::addCategory(std::string name){
category.push_back(name);
}
void Task::printAllCategory(void){
std::cout << "Task Name : " << task_name << std::endl;
for(unsigned i=0;i<category.size();i++)
std::cout << "Category[" << i+1 << "] : " << category[i] << std::endl;
}
int main(int argc, char** argv) {
Task *task1 = new Task("Work"), *task2 = new Task("Home");
task1->addCategory("money");
task1->addCategory("job");
task1->addCategory("shirk");
task2->addCategory("beer");
task2->addCategory("sex");
task1->printAllCategory();
task2->printAllCategory();
delete task2;
delete task1;
system("pause");
return 0;
}