Author: Hristo
Date: 02:52:03 08/01/04
Go up one level in this thread
On August 01, 2004 at 01:07:10, Uri Blass wrote:
>My code until today used a lot of global varaibles and I decided based on advice
>of Dann Corbit to use a class for time management.
>
>I have a many varaibles in class for time management and
>I hesitate which parameters to give to the functions.
>
>I will give an example:
>
>I want to have a procedure to update the remaining number of moves to the time
>control in the beginning of every search(this varaible is used for other
>varaibles like the target time.
>
>The procedure is using the following varaibles:
>1)num_moves_1(number of moves in the first time control)
>2)num_moves_2(number of moves in the second time control)
>3)num_moves_3(number of moves in the third time control)
>4)hply(history ply of the game)
Uri,
if you should provide accessor functions for your class attributes (variables).
In other words, it is a common practice to expose your variables through
independent functions (set/get).
For instance:
class UrisTime{
public:
UrisTime(){}
~UrisTime(){}
int getMoves1(void) const { return num_moves_1;}
void setMoves1(int i) { num_moves_1 = i;}
int getMoves2(void) const { return num_moves_2;}
void setMoves2(int i) { num_moves_2 = i;}
int getMoves3(void) const { return num_moves_3;}
void setMoves3(int i) { num_moves_3 = i;}
int getHply(void) const { return hply;}
void setHply(int i) { hply = i;}
protected:
int num_moves_1;
int num_moves_2;
int num_moves_3;
int hply;
};
You can also inline the functions if you think that they would be called very
often: just add inline in front of the functions.
inline int getMoves1(void) const { return num_moves_1;}
inline void setMoves1(int i) { num_moves_1 = i;}
>
>I think to call the procedure not inside the class so it cannot get directly
>num_moves_1 or num_moves_2 or num_moves_3
>
>I can write seperate functions to return num_moves_1 inside the class and use
>these functions outside of the class but I am not sure if it is a good idea(no
>experience in C++).
>
>Another possibility is not to give the functions the parameters of
>num_moves_1,num_moves_2,num_moves_3 because their value is known inside the
>class so it is not needed.
>
>What do you suggest?
>
>Uri
This page took 0.01 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.