Project : step 5
Differentiated effects of nutrients
Statistics

Disclaimer: the automatically generated English translation is provided only for convenience and it may contain wording flaws. The original French document must be taken as reference!

Goal: Extend the system so that it :

Required concepts: classes, constructors/destructors, inheritance, polymorphism, standard library

Required files : partie5.zip


Setup

The provided archive contains :

  • a new file CMakeLists.txt enabling the compilation and running of the various tests for this stage of the project ;
  • a new simulation kernel src/Application.[hpp][cpp];
  • a programme corresponding to the finalised application src/Tests/GraphicalTests/FinalApplication.[hpp][cpp];
  • a utility class for displaying statistics, found in the file src/Stats/Graph.[hpp][cpp];
  • a shell of the class src/Stats/Stats.[hpp][cpp] which you will be asked to complete;
  • a new resource for the folder res/.
  • For this stage, you will work in the subdirectory partie5/.

    General description of the classes to be produced

    The aim of this stage is to enable nutrients to have a different impact on bacteria depending on their type. This will give you the opportunity to discover the limitations of «simple dispatch» (polymorphism is only possible for this and not for method parameters) and to work around them.

    We also wish to enhance the simulation tool to make it easier to interpret the evolution of various parameters. You will code a Stats class to display trend lines for various parameters over time.

    To summarise, here is the essence of the architecture you should have achieved by the end of this stage :

    Modele

    Let us now proceed to the coding. In your programme, ensure that you encapsulate your classes properly, in particular by not providing public or protected access to your attributes. You should also systematically take care of destructors.

    Modules to be programmed

    The modules to be implemented to complete this stage are as follows :

    By the end of this stage, you will have coded all the basic functionalities required by the project.


    Back to main document