Помогите, пожалуйста, перегрузить += (нужно сложить все money)
И правильно ли я перегрузил >>, <<, [] !?
#include <iostream>
#include <locale>
#include <ctime>
using namespace std;
struct Fin
{
int day;
double money;
};
class Buh
{
Fin *pFin;
int sz;
public:
Buh(int size = 0)
{
srand(time(0));
sz = size = 31;
pFin = new Fin[sz];
for(int i = 0; i < sz; i++)
{
//pFin[i].money = (rand()/100)/10.0;
pFin[i].day = i + 1;
}
}
//Перегрузка []-----------------------------------------------------------
Fin& operator[] (int i)
{
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
return pFin[i];
}
//--------
void add();
void show();
friend istream& operator>> (istream& is, Buh& a);
friend ostream& operator<< (ostream& os, Buh& a);
};
//Перегрузка оператора вв -------------------------------------------------
istream& operator>> (istream& is, Buh& d)
{
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
for(int j = 0; j < d.sz; j++)
{
is>>d.pFin[j].money;
}
return is;
}
//Перегрузка оператора выв ------------------------------------------------
ostream& operator<< (ostream& os, Buh& a)
{
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
for(int i = 0; i < a.sz; i++)
{
os<<a.pFin[i].day<<" "<<a.pFin[i].money<<endl;
}
return os;
}
//------------------------------------------------------------------
//------------------------------------------------------------------
void Buh::add()
{
for(int i = 0; i < sz; i++)
{
cin>>pFin[i].money;
}
}
void Buh::show()
{
for(int i = 0; i < sz; i++)
{
cout<<"В "<<pFin[i].day<<"-й день "<<pFin[i].money<<"$"<<endl;
}
}
int main()
{
setlocale(0, "rus");
Buh h;
char c;
do
{
system("cls");
cout<<"Выберите пожалуйста действие:\n\t1 - Ввод данных;\n\t2 - Просмотреть учет;\n\t3 - Доход;\n\te - Exit;"<<endl;
cin>>c;
switch(c)
{
case '1':
system("cls");
cout<<"Введите пожалуйста money:\n";
h.add();
system("cls");
break;
case '2':
system("cls");
cout<<"Данные вашей бухгалтерии за целый месяц:\n";
h.show();
system("PAUSE");
break;
case '3':
system("cls");
cout<<"Sum = :\n";
// sum = :confused:
system("PAUSE");
}
}while(c != 'e');
return 0;
}