GENERAL CLASS AUTHORING GUIDELINES

1)                  Classes will be declared in one file. Name shall be <class name>.cpp

2)                  No manifests or macros will be used.

3)                  No inlines will be used.

4)                  Static variables are not permitted within member functions.

5)                  Consistent nomenclature is encouraged.

6)                  Unless specified otherwise, no library functions shall be used.

 

 

Boat Yard Project

 

Part 1.1 Boat Class - First Cut

 

Class Semantics:

 

1. Attributes:

          A) Length - measured in metres and tenths

                   Tolerances - max 10.0 , min 3.0 , unknown: 0 ;  incorrect: -1

                   See Note A

          B) Beam  - measured in metres and tenths

                   Tolerances - max 3.0 , min 1.0 , unknown: 0 ;  incorrect: -1

                   See Note A

          C) Draft    - measured in metres and tenths

                   Tolerances - max 2.0 , min .25 , unknown: 0;  incorrect: -1

                   See Note A

          D) Name  - Maximum 20 bytes, truncate if excessive; all italic alphas must be CAPS;

                   unknown "NONAME"

          E) Material - 1 - wood, 2 - fibreglass, 3- steel / aluminum, 4 - other ; unknown: 0 ;   incorrect: -1

                   See note A

          F) Manufacture: 1- custom, 2- production, 3- modified production ; unknown: 0 ;  incorrect: -1

                   This attribute may only be altered if unkwown or incorrect; also it may be

                   altered if it has a value of 2 and is changing to 3

          G) Owner ID - 6 digit number - may be a long integer, unknown or unspecified : -1

                  

          Note A:

          This attribute may only be set at instantiation or altered if it has an unknown or incorrect    

          value. Further versions will permit   an "override" for this attribute.

 

2. Methods:

          A) "Accessors" and "Mutators" for all attributes per the above specs.

                   Length , Beam and Draft - allow accessors and mutators in feet and tenths

          B) Default Constructor: All attributes set to unknown

          C) Initialise Constructor: All attributes