category.h

来自「SSD6卡耐基梅陇大学联系3答案 绝对正确 SSD6数据结构 是一门很重要的课程」· C头文件 代码 · 共 56 行

H
56
字号
#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 + =
减小字号Ctrl + -
显示快捷键?