#include #include #include #include #include "team1.h" ///////////////////////////////////////////////////////////////////////////// // Definition of Player's member functions ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// // Constructors ///////////////////////////////////////////////////////////////////////////// Player::Player() { strcpy(last_name,"\0"); strcpy(first_name,"\0"); strcpy(position,"\0"); batting=0.0; era=0.0; salary=0; } Player::Player(char* l_n, char* f_n) { set_last_name(l_n); set_first_name(f_n); strcpy(position,"\0"); batting=0.0; era=0.0; salary=0; } Player::Player(Player& p) { set_last_name(p.last_name); set_first_name(p.first_name); set_position(p.position); set_b_a(p.batting); set_era(p.era); set_salary(p.salary); } ///////////////////////////////////////////////////////////////////////////// // set functions ///////////////////////////////////////////////////////////////////////////// void Player::set_last_name(char* l_n) { strcpy(last_name, l_n); } void Player::set_first_name(char* f_n) { ... } void Player::set_position(char* p) { ... } void Player::set_b_a(double b) { batting=b; } void Player::set_era(double e) { ... } void Player::set_salary(int s) { ... } ///////////////////////////////////////////////////////////////////////////// // get functions ///////////////////////////////////////////////////////////////////////////// char* Player::get_last_name() { return last_name; } char* Player::get_first_name() { ... } char* Player::get_position() { ... } double Player::get_ba() { ... } double Player::get_era() { ... } int Player::get_salary() { ... } //I don't think this function is needed!!! Player Player::operator=(Player& p) { Player p1(p); return p1; } ///////////////////////////////////////////////////////////////////////////// // friend functions--overloading of operators ///////////////////////////////////////////////////////////////////////////// ostream& operator<<(ostream& out, const Player& p) { char last_name[20]; char first_name[20]; char position[3]; double batting; double era; int salary; strcpy(last_name, p.last_name); strcpy(first_name, p.first_name); strcpy(position, p.position); batting=p.batting; era=p.era; salary=p.salary; cout.setf(ios::fixed); //this piece of code makes sure all doubles are cout.setf(ios::showpoint); //outputed with two decimal places. cout.precision(2); out<>(istream& in, Player& p) { char last_name[20]; char first_name[20]; char position[3]; double batting; double era; int salary; in>>last_name; in>>first_name; in>>position; in>>batting; in>>era; in>>salary; p.set_last_name(last_name); p.set_first_name(first_name); p.set_position(position); p.set_b_a(batting); p.set_era(era); p.set_salary(salary); return in; } bool operator==(const Player& p1, const Player& p2) { return (!(strcmp(p1.last_name, p2.last_name)) && !(strcmp(p1.first_name, p2.first_name))) && !(strcmp(p1.position,p2.position)) && (p1.batting==p2.batting) && (p1.era==p2.era) && (p1.salary==p2.salary); } bool operator!=(const Player& p1, const Player& p2) { return !(p1==p2); } ///////////////////////////////////////////////////////////////////////////// // end of definitions of Player's functions ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// // Definition of Team's member functions ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// // Consructors ///////////////////////////////////////////////////////////////////////////// Team::Team() { int k; max=10; players=new Player[max]; used=0; } Team::Team(int s) { max=s; players=new Player[max]; used=0; } //Modified!!! Team::Team(const Team& t) { max=t.max; players=new Player[t.max]; used=t.used; int k; for (k=0; k