next up previous contents
Next: Review Up: Some basics of object-oriented Previous: ``.'' vs. ``->''   Contents

General code structure

Even if you write everything into one file, which simplifies life for non-experts, there is some structure that should be obeyed and that helps later to pull the code apart into several files. It is as follows:


{}
// Global declarations/definitions.
// This would become something like ``globals.h''.
typedef double Time ;
Time time = -1 ;
...

// global utilities
// This would become something like ``utils.h''.
#include <stdlib.h>
extern "C" double drand48() ;
double myRand() {
    return drand48() ;
}

// Class declarations including definitions for ``short'' methods.
// Each class would go into a separate *.h file.
class Link ; // forward declaration
class Node {
private:
    Id id_ ;
public:
    void set_id( Id val ) { id_ = val ; } // ``short'' method
    ...
    Link* findOutgoingLink( Id linkId ) ; // ``long'' method
};
...    

// Definitions of ``long'' class methods.
// Methods for each class would go into a separate *.cpp file.
Link* Node::findOutgoingLink( Id linkId ) {
    ...
}
...

// global functions (should be avoided; can normally go into ``class
// SimWorld'' or similar)

// main:
void main() {
    ...
}



2004-02-02