topical media & game development
professional-program-24-Order-Order.c
? /
professional-program-24-Order-Order.c
include <Order.h>
include <iostream>
include <sstream>
using namespace std;
Order::Order() : mItemNumber(-1), mQuantity(-1), mCustomerNumber(-1)
{
}
int Order::getItemNumber()
{
return mItemNumber;
}
void Order::setItemNumber(int inItemNumber)
{
mItemNumber = inItemNumber;
}
int Order::getQuantity()
{
return mQuantity;
}
void Order::setQuantity(int inQuantity)
{
mQuantity = inQuantity;
}
int Order::getCustomerNumber()
{
return mCustomerNumber;
}
void Order::setCustomerNumber(int inCustomerNumber)
{
mCustomerNumber = inCustomerNumber;
}
string Order::serialize()
{
ostringstream outStream;
outStream << getItemNumber() << "\t" <<
getQuantity() << "\t" <<
getCustomerNumber();
return outStream.str();
}
void Order::deserialize(const string& inData)
{
// Create a string stream based on the data
istringstream inStream(inData);
if (!inStream.good()) {
cerr << "Error deserializing!" << endl;
} else {
inStream >> mItemNumber;
inStream >> mQuantity;
inStream >> mCustomerNumber;
}
}
int main()
{
Order myOrder;
myOrder.setItemNumber(7);
myOrder.setQuantity(2);
myOrder.setCustomerNumber(178);
string data = myOrder.serialize();
Order myOrder2;
myOrder2.deserialize(data);
// myOrder2 should be the same as myOrder
cout << myOrder2.getItemNumber() << "\n"
<< myOrder2.getQuantity() << "\n"
<< myOrder2.getCustomerNumber() << "\n";
}
(C) Æliens
20/2/2008
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.