Memory Allocation

 

 

1

Class Team

{

Player m_Roster[25];

int m_Count;

void Team::PrintRoster()

{

//problem: if you need to access a member of this

for(int i=0; i<M_nCount; i++)

{

//display what? M_Roster[i]; (dot)

 

 

2

Class Team

{

Player* m_Roster;

int m_nCount;

void Team::PrintRoster()

{

for(int i=0; i<M_nCount; i++)

{

//display what? M_Roster[i]; (dot)

 

 

Team::Team()

{

m_mcount – 0;

M-PRoster = new Player [25]

 

 

Team :: ~Team()

{

delete [] m_pRoster;

 

 

 

3

Class Team

{

Player *m_Roster[25];

int m_nCount;

void Team::PrintRoster()

{

for(int i=0; i<M_nCount; i++)

{

//display what? M_Roster[i]; (->)

 

 

Team::Team()

{

m_nCount = 0;

 

 

Team :: ~Team()

{

for(int i=0; i,m_nCount, i++)

{

delete m_pRoster[1];

 

 

 

 

4

Class Team

{

Player** m_Roster;

int m_nCount;

void Team::PrintRoster()

{

for(int i=0; i<M_nCount; i++)

{

//display what? m_ppRoster[i]; (-> GetHRs())

//(-> pointer notation to reference the pointer, as opposed to the dot)

 

 

Team::Team()

{

m_nCount = 0;

m_ppRoster = new Player*[25];

 

 

Team :: ~Team()

{

for(int i=0; i,m_nCount, i++)

{

delete m_ppRoster[1]; //deletes player objects

}

delete [] m_ppRoster; //deletes the pointer pointing to the player objects

 

 

 

5

int main()

{

int i=5;

double d = 70;

cout <<i<< ‘\o’ <<d<<endl;

return 0;

}

//ostream cout -> system object

//istream cin -> system object

int main()

{

Player p;

//p is initialized;

cout << p.GetName() << p.GetPosition()<< p..GetNumber() << p.GetAB() << p.GetAvg() << p.GetRBI() << p.GetHRs() << endl;

cout <<p

}

Class Player

{

private:

char* m_szName;

char* m_szNumber;

position m_pos;

int m_nAB;

int m_nHits;

int m_nRBIs;

int m_nHRs;

Public:

char* GetName();

char* GetNumber(0;

char* GetPositionName();

int GetRBIs();

int GetHRs();

int GetHits();

double GetAvg():

friend ostream& operator << (ostream& os, const Player&p);

// return an ostream reference to int main couts

-friend:

-1st ostream&: return

-operator<<:

-ostream& os: cout

-const player&p: refers to "p"

void Team :: PrintRoster()

{

for(inti = 0; i< m_nCount;i++)

{

  1. cout << m_Roster[i] <<endl;
  2. cout << m_pRoster[i] <<endl;
  3. cout << *(m_pRoster[i]) <<endl;
  4. cout << *(m_ppRoster[i]) <<endl;

ostream& operator << (ostream& os, const Player& p)

{

os << "Name: " << p.GetName();

os << "Number: " << p.GetNumber();

os << "Position: " << p.GetPositionName();

os << "Hits: " << p.GetHits();

os << "Average: " << p.GetAvg();

os << "RBIs: " << p.GetRBIs();

os << "Home Runs: " << p.GetHRs():

return os;

}

 

 

6

Class Team

{

Player *m_Roster[25];

int m_nCount;

void Team::PrintRoster()

{

for(int i=0; i<M_nCount; i++)

{

//display what? M_Roster[i]; (->)

 

 

Team::Team()

{

m_nCount = 0;

 

 

Team :: ~Team()

{

for(int i=0; i,m_nCount, i++)

{

delete m_pRoster[1];

int main()

[

Team+;

//Players are added

//stats added

cout<<+;

ostream& operator <<(osbream &os, const Team& +)

{

os << "Player: \+Number: \+Position: \+Hits: \+Avg: \+RBIs: \+HRs: \n";

os<< "___________________________________";

for(int i = 0; i < m_ncount; i++)

{

os << m_pRoster[i] << endl;

}

return 0s;

}

 

 

 

Back | HOME | Next




Canpol Solutions Przeszukaj Katalog -- przeszukaj katalog / zamowienia, komentarze --  Poczta Polonijnej Witryny

Internet ExplorerUzywaj zawsze najnowszej przegladarki
M.I.E. lub, ewentualnie Netscape ktorej, niestety na razie nie polecamy..
Netscape


Canpol Solutions © Polonijna Witryna