⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 category.cpp

📁 1.注册功能 2.登录功能 3.退出系统功能 4.发布新广告功能 5.添加子目录功能 6.查找广告功能 7.广告排序功能 8.查看当前目录中的广告 9.查看当前目录及其子目录中的广告
💻 CPP
字号:
#include <string>
#include <vector>
#include <iterator>

#include "Category.h"
#include "Listing.h"

using namespace std;


Category::Category(void)
{
   number=0;
   parent=0;
   name="";

	/*sub_categories=NULL;
	items=NULL;*/
}
Category::Category(int parent, string name)
{
	this->parent=parent;
	this->name=name;
}
int Category::getNumber(void) const
{
	return this->number;
}
int Category::getParent(void) const
{
	return this->parent;
}
string Category::getName(void) const
{
	return this->name;
}
void Category::setNumber(int num)
{
	number=num;
}
void Category::setParent(int par)
{
	parent=par;
}
void Category::setName(string nm)
{
    name=nm;
}
void Category::addSubCategory(Category* cago)
{
      sub_categories.push_back(cago);
}
void Category::addItem(int num)
{
	items.push_back(num);
}
vector<int>::iterator Category::itemsBegin()
{
	return items.begin();
}
vector<int>::iterator Category::itemsEnd()
{
	return items.end();
}
vector<Category*>::iterator Category::subCategoriesBegin()
{
	return sub_categories.begin();
}
vector<Category*>::iterator Category::subCategoriesEnd()
{
	return sub_categories.end();
}
void Category::findOfferings (Listing::iterator start, 
					Listing::iterator finish, Listing &matches)
{   
	Listing::iterator itr_adv; 
    for (vector<int>::iterator current=items.begin();current!=items.end();current++)
	{
       for (itr_adv=start;itr_adv!=finish;itr_adv++)
	   {
		   int adv_num=(*current);
		   if((*itr_adv)->getNumber()==adv_num) 
		   {
			   matches.add(*itr_adv);
			   break;
		   }
	   }
	}
}
void Category::findOfferingsRecursive (Listing::iterator start, 
					Listing::iterator finish, Listing &matches)
{    
	 findOfferings(start,finish,matches);
     if (sub_categories.size()==0) return;
     vector<Category*>::iterator itr_subcate;
	 for(itr_subcate=subCategoriesBegin();itr_subcate!=subCategoriesEnd();itr_subcate++)
	 (*itr_subcate)->findOfferingsRecursive (start, finish,matches);
}

bool Category::operator==(const Category& rhs)
{
	return this->number==rhs.getNumber();
}
istream &operator>>(istream &stream, Category &c)
{
	    int parent_id;
		string name;
		(stream>>parent_id).get();
		(stream>>name).get();
		c.setParent(parent_id);
		c.setName(name);
		return stream;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -