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

📄 category.h

📁 SSD6卡耐基梅陇大学联系3答案 绝对正确 SSD6数据结构 是一门很重要的课程 希望对大家有帮助
💻 H
字号:
#ifndef CATEGORY_H
#define CATEGORY_H

#include <string>
#include <vector>

#include "Listing.h"

using namespace std;

class Category;

istream &operator>>(istream &stream, Category &c);

class Category {

private:
	int number;
	int parent;
	string name;

	vector<Category*> sub_categories;
	vector<int> items;

public:
	
	Category(void);
	Category(int parent, string name);

	virtual int getNumber(void) const;
	virtual int getParent(void) const;
	virtual string getName(void) const;
	
	virtual void setNumber(int);
	virtual void setParent(int);
	virtual void setName(string);

	virtual void addSubCategory(Category*);
	virtual void addItem(int);

    virtual void findOfferings (Listing::iterator start, 
					Listing::iterator finish, Listing &matches);
    virtual void findOfferingsRecursive (Listing::iterator start, 
					Listing::iterator finish, Listing &matches);

	virtual vector<int>::iterator itemsBegin();
	virtual vector<int>::iterator itemsEnd();
	virtual vector<Category*>::iterator subCategoriesBegin();
	virtual vector<Category*>::iterator subCategoriesEnd();

	virtual bool operator==(const Category& rhs);

};

#endif

⌨️ 快捷键说明

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