#include #include #include "ship.h" using namespace std; void print_fleet(string const& name, vector fleet) { cout << "name: " << name << "\n"; unsigned int power{}; //add the fleets power to power for (Ship* s : fleet) { power += s -> get_power(); } cout << "Total power: " << power << "\n"; for (Ship* s: fleet) { cout << s -> print_string() << "\n"; } cout << endl; } int main() { //Needs to store pointers to prevent slicing vector fleet; fleet.push_back(new WarShip{"Defiant", 8, 4}); fleet.push_back(new WarShip{"Valiant", 8, 4}); fleet.push_back(new CargoShip{"Yoshiro", 40, 3}); fleet.push_back(new WarShip{"Enterprise", 20, 6}); print_fleet("Sixth fleet", fleet); //Return allocated memory for (auto s : fleet) { delete s; } }