M
Michael Gray
OK, I'm a newbie.
Can anyone tell me why the following code gives an error that the
lightsaber class member can't be accessed by the jedi class EVEN
THOUGH the jedi class contains a lightsaber???//basic class
manipulation
#include <iostream.h>
class lightsaber
{
public:
unsigned int getState ();
void ignite ();
void shutDown ();
private:
unsigned int state;
};
unsigned int lightsaber::getState()
{
return state;
}
void lightsaber::ignite()
{
state = 1;
}
void lightsaber::shutDown()
{
state = 0;
}
//------------------------------------------------------------------------------
class jedi
{
public:
unsigned int getRank ();
void setRank (int);
private:
unsigned int itsRank;
lightsaber itsSaber;
};
unsigned int jedi::getRank()
{
return itsRank;
}
void jedi::setRank(int rank)
{ itsRank = rank;
}
int main()
{ lightsaber saber; //make a lightsaber object
saber.shutDown();
cout <<saber.getState() <<"\n";
if (saber.getState() == 0)
cout <<"saber is shut down \n";
saber.ignite();
cout <<saber.getState() <<"\n";
if (saber.getState() == 1)
cout <<"saber is ignited \n";
jedi Anakin;
Anakin.setRank(9);
cout <<"Anakin's rank is "<<Anakin.getRank() <<"\n";
Anakin.itsSaber.ignite();
return 0;
}
Can anyone tell me why the following code gives an error that the
lightsaber class member can't be accessed by the jedi class EVEN
THOUGH the jedi class contains a lightsaber???//basic class
manipulation
#include <iostream.h>
class lightsaber
{
public:
unsigned int getState ();
void ignite ();
void shutDown ();
private:
unsigned int state;
};
unsigned int lightsaber::getState()
{
return state;
}
void lightsaber::ignite()
{
state = 1;
}
void lightsaber::shutDown()
{
state = 0;
}
//------------------------------------------------------------------------------
class jedi
{
public:
unsigned int getRank ();
void setRank (int);
private:
unsigned int itsRank;
lightsaber itsSaber;
};
unsigned int jedi::getRank()
{
return itsRank;
}
void jedi::setRank(int rank)
{ itsRank = rank;
}
int main()
{ lightsaber saber; //make a lightsaber object
saber.shutDown();
cout <<saber.getState() <<"\n";
if (saber.getState() == 0)
cout <<"saber is shut down \n";
saber.ignite();
cout <<saber.getState() <<"\n";
if (saber.getState() == 1)
cout <<"saber is ignited \n";
jedi Anakin;
Anakin.setRank(9);
cout <<"Anakin's rank is "<<Anakin.getRank() <<"\n";
Anakin.itsSaber.ignite();
return 0;
}