📄 category.cpp
字号:
#include "Category.h"
#include <iostream>
Category::Category():number(0),parent(0) {}
Category::Category(int parent, std::string name):number(0),parent(parent),name(name) {}
string Category::getName() const {
return this->name;
}
int Category::getNumber() const {
return this->number;
}
int Category::getParent() const {
return this->parent;
}
void Category::setName(std::string name) {
this->name = name;
}
void Category::setNumber(int number) {
this->number = number;
}
void Category::setParent(int parent) {
this->parent = parent;
}
vector<int>::iterator Category::itemsBegin() {
return this->items.begin();
}
vector<int>::iterator Category::itemsEnd() {
return this->items.end();
}
vector<Category*>::iterator Category::subCategoriesBegin() {
return this->sub_categories.begin();
}
vector<Category*>::iterator Category::subCategoriesEnd() {
return this->sub_categories.end();
}
void Category::addItem(int item) {
this->items.push_back(item);
}
void Category::addSubCategory(Category * category) {
this->sub_categories.push_back(category);
}
void Category::findOfferings(Listing::iterator start, Listing::iterator finish, Listing &matches) {
Listing::iterator iter = start;
while(iter != finish) {
vector<int>::iterator it = items.begin();
while(it != items.end()) {
if ((*iter)->getNumber() == *it)
matches.add(*iter);
it ++;
}
iter ++;
}
}
void Category::findOfferingsRecursive(Listing::iterator start, Listing::iterator finish, Listing &matches) {
this->findOfferings(start,finish,matches);
for (vector<Category*>::iterator i = this->sub_categories.begin(); i != this->sub_categories.end(); i ++) {
(*i)->findOfferingsRecursive(start,finish,matches);
}
}
istream &operator>>(istream &stream, Category &c) {
string name;
int parent;
stream>>parent>>name;
c.setName(name);
c.setParent(parent);
return stream;
}
bool Category::operator ==(const Category &rhs) {
if(this->number = rhs.getNumber())
return true;
return false;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -