// Portfolio.h: interface for the Portfolio class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_PORTFOLIO_H__4CF7B21F_53FE_11D3_933C_0060674E1056__INCLUDED_)
#define AFX_PORTFOLIO_H__4CF7B21F_53FE_11D3_933C_0060674E1056__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include <iostream>
using namespace std;

template <class etype>
class Portfolio  
{
	etype * items[10];
	int lastItem;
public:
	Portfolio();
	~Portfolio();
	void add(etype * e);
	void removeLast();
	double presentValue();


};

template <class etype>
Portfolio<etype>::Portfolio() : lastItem(0)
{

}

template <class etype>
Portfolio<etype>::~Portfolio()
{

}

template <class etype>
void Portfolio<etype>::add(etype * e){
	items[lastItem++] = e;
}

template <class etype>
void Portfolio<etype>::removeLast(){
	if (lastItem-- <= 0)
		lastItem = 0;
}

template <class etype>
double Portfolio<etype>::presentValue(){
	double sum = 0;
	for (int i =0; i < lastItem; i++)
		sum += items[i]->presentValue();
	return sum;
}

#endif // !defined(AFX_PORTFOLIO_H__4CF7B21F_53FE_11D3_933C_0060674E1056__INCLUDED_)
