📄 advertisement.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 + -