In this assignment, we will develop a simplified representation of Virus-Cell-Vaccine interaction. We will focus on the basic characteristics of the interactions and all the necessary background knowledge will be provided below. This programming assignment will utilize: Binary-Search-Tree, Template and Operator-overloading.
There are 2 cpp files in total that require your implementation. There are in total 12 functions which you need to implemented across the two cpp files. This programming assignment is not designed to be tricky but meant to assess students on their understanding of the 3 topics (mentioned above) and how we could use previously implemented functions to solve the next function implementation.
Some important changes:
o Removed non-const operator task
• General Outline
o Upon downloading the skeleton zip file, there would be: 3 cpp files and 1 header file.
o You are only required to complete 2 of the cpp files: tree_functions.cpp and operator_overloading.cpp.
o Upon completion, you could compile your code with: g++ -std=c++11 main.cpp -o main.exe and run with ./main.exe
• Suggestions to consider
o We understand that some functions can be simple to implement if we know what other functions (which we previously implemented) to depend on. As such, the following figure is an implementation flow (steps following the set number 1 ~ 4) as a suggestion from us. You are free to have your own order of implementation as this is just a suggestion!
The outline of this programming assignment is developed on top of BST code material covered in lectures. Do go through the lecture material and the code to familiarize yourself with it: lecture material (see file: “bst-program”).
Disclaimer: The context of this programming assignment “Virus-Cell-Vaccine”, only serves to make this assignment more comprehensive but factual information might not be biologically accurate. If you have doubts regarding the assignment, we strongly advise you not to make assumptions but clarify on the piazza.
In this assignment, the Virus and Cell are represented as BSTs while the Vaccine will be represented with a function call. From time to time, when opportunities arise, both the Virus and the Cell will consume food to grow. When specific conditions are met (explained in detail later), the Virus will be able to consume the Cell, improve or mutate (condition different for each). The Vaccine plays the role of weakening the Virus. The following section will explain the functionalities that are necessary to be implemented in order to realize the context mentioned above.
BST Class tasks and descriptions
Both variables (Cell & Virus) will be instantiated from the BST class, which means you do not need to create a separate class for each of them. The characteristics of BST taught in class will be followed in this assignment (i.e. all values to the left of a node is less than the value of the node, etc.). A reminder that when you implement the different functions of BST class, do keep in mind of template usage [This is covered in BST lecture as well]. All examples and explanations below will be based on BSTs of integer type.
The following section serves to provide information on the member functions of the BST class. You may refer to bst.h header file.