Hi.
I'm supposed to make up a program using composition and memory allocation.
The program works fine but am I doing it the right way ? I need your opinion.
Lots of files but they are short.
InventoryItem.hCODE
#pragma once
class InventoryItem
{
public:
InventoryItem();
~InventoryItem();
void SetStockNumber(int stkNum);
void SetPrice(double pr);
void DisplayItem();
private:
int _stockNumber;
double _price;
};
InventoryItem.cppCODE
#include "InventoryItem.h"
#include <iostream>
using namespace std;
InventoryItem::InventoryItem()
{
}
InventoryItem::~InventoryItem()
{
}
void InventoryItem::SetStockNumber(int stkNum)
{
_stockNumber = stkNum;
}
void InventoryItem::SetPrice(double pr)
{
_price = pr;
}
void InventoryItem::DisplayItem()
{
cout << "Item #" << _stockNumber << " costs $" << _price << endl;
}
SalesPerson.hCODE
#pragma once
class SalesPerson
{
public:
SalesPerson() {}
SalesPerson(const char* name);
~SalesPerson();
void SetId(int id);
void SetName(const char* name);
void DisplayPerson();
private:
int _idNumber;
char* _empName;
};
salesPerson.cppCODE
#include "SalesPerson.h"
#include <iostream>
#include <cstring>
using namespace std;
SalesPerson::SalesPerson(const char* name)
{
_empName = new char[strlen(name) + 1];
strcpy(_empName, name);
}
SalesPerson::~SalesPerson()
{
delete [] _empName;
}
void SalesPerson::SetId(int id)
{
_idNumber = id;
}
void SalesPerson::SetName(const char* name)
{
_empName = new char[strlen(name) + 1];
strcpy(_empName, name);
}
void SalesPerson::DisplayPerson()
{
cout << "Salesperson #" << _idNumber << " " << _empName << endl;
}
Transaction.hCODE
#pragma once
#include "InventoryItem.h"
#include "Salesperson.h"
class Transaction
{
public:
Transaction(int item, double pr, int salesId, const char* name);
~Transaction();
void DisplayTransactionInfo();
private:
InventoryItem _itemSold;
SalesPerson _seller;
};
transaction.cppCODE
#include "Transaction.h"
Transaction::Transaction(int item, double pr, int salesId, const char* name)
{
_itemSold.SetPrice(pr);
_itemSold.SetStockNumber(item);
_seller.SetId(salesId);
_seller.SetName(name);
}
Transaction::~Transaction()
{
}
void Transaction::DisplayTransactionInfo()
{
_itemSold.DisplayItem();
_seller.DisplayPerson();
}
main.cppCODE
#include "Transaction.h"
#include <conio.h>
int main ()
{
Transaction oneSale(123, 139.95, 777, "Sherman");
oneSale.DisplayTransactionInfo();
_getch();
}
This post has been edited by #include<wmx010>: 5 Feb, 2008 - 07:41 AM