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

📄 advertisement.cpp

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

#include "Advertisement.h"
#include "Date.h"
Advertisement::Advertisement(void)
{
    number=0;
	quantity=0;
    title="";
    seller_email="";
    body="";

    this->start=Date();
    this->close=Date();
}
Advertisement::Advertisement(const Advertisement &a)
{
    this->number=a.number;
	this->quantity=a.quantity;
    this->title=a.title;
    this->seller_email=a.seller_email;
    this->body=a.body;

    this->start=a.start;
    this->close=a.close;
}
Advertisement::Advertisement (string title, string seller_email, string body, 
                   Date start, Date close, int quantity)
{
	this->quantity=quantity;
    this->title=title;
    this->seller_email=seller_email;
    this->body=body;

    this->start=start;
    this->close=close;
}
void Advertisement::setStart (const Date &start)
{
	this->start=start;
}
void Advertisement::setClose (const Date &close)
{
	this->close=close;
}
void Advertisement::setTitle (string title)
{
	this->title=title;
}
void Advertisement::setBody (string body)
{
	this->body=body;
}
void Advertisement::setNumber (int number)
{
	this->number=number;
}
void Advertisement::setEmail (string email)
{
	this->seller_email=email;
}
void Advertisement::setQuantity (int quantity)
{
	this->quantity=quantity;
}
Date Advertisement::getStart () const
{
	return start;
}
Date Advertisement::getClose () const
{
	return close;
}
string Advertisement::getTitle() const
{
	return title;
}
string Advertisement::getBody() const
{
    return body;
}
string Advertisement::getEmail() const
{
	return seller_email;
}
int Advertisement::getNumber () const
{
	return number;
}
int Advertisement::getQuantity() const
{
	return quantity;
}
bool Advertisement::operator==(const Advertisement&adv) const
{
     return (this->number==adv.number);
}
istream &operator>>(istream &stream, Advertisement &a)
{
        int quantity;
		string title;
		string seller_email;
		string body;
		Date start;
		Date close;
		(stream>>title).get();
		(stream>>seller_email).get();
		(stream>>quantity).get();
		(stream>>start).get();
		(stream>>close).get();
		(stream>>body).get();
		a.setTitle(title);
		a.setEmail(seller_email);
	    a.setBody(body);
		a.setStart(start);
		a.setClose(close);
		a.setQuantity(quantity);
		return stream;
}
priority_queue<Bid>& Advertisement::getBids(void)
{
	return this->bids;
}
vector<Bid> Advertisement::getTopDutchBids (void) const
{
   priority_queue<Bid> pri_bids=bids;
   vector<Bid> win_bid;
   int quantity=this->getQuantity();
   while (quantity>0&&!pri_bids.empty())
   {
	   Bid top_bid=pri_bids.top();
	   int bid_quantity=top_bid.getQuantity();
	   quantity=quantity-bid_quantity;
	   win_bid.push_back(top_bid);
	   pri_bids.pop();
   }
   return win_bid;
}

⌨️ 快捷键说明

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