Work created solely by Thomas Soares Mullen and do not give permission for people on this course to use my work
This folder contains 8 assignments that contributed to 30% towards the OOP C++ course hosted at UoM Physics School. Collectively, the assignments shows how coding can be used to the solve physics problems. It goes through a range of basic C++ features e.g. arrays, vecotrs, condition statements, iterations, I/O stream, pointers and references, classes: virtual, base, derived, constructors, inheritance, polymorphism. To some advanced features e.g. templates, headers and source file, namespaces, lambda functions, exception handling and smart pointers.
The following assignments contained:
Assignment 1: Bohr Energy Calculator - Focus: I/O check statements and defining basic calculation funcitons.
Assignment 2: Average and Standard Devation Calculator - Focus: Arrays, reading in files to an array, removing rogue data.
Assignment 3: Create a Physics Course Database - Focus: Stringstream, reading in lines and keeping relevant information, sorting data.
Assignment 4: Galaxy Class - Focus: class basics e.g. constructor, destructors, class functions. Uses vectors to store class.
Assignment 5: Complex Number Class - Focus: class basics e.g. private and public, friends, operator overloads.
Assignment 6: Matrix Class - Focus: RH and LH semantics, deep copying, n-dimensional arrays to 1d arrays
Assignment 7: Particle 4-Vector Class - Focus: Function overload, function override, multiple constructor, inheritance.
Assignment 8: Shape Hierachy - Focus: Base class, inheritance, polymorphism, smart pointers