Question: Part 1: Part 2: Section B Design a class for managing the metadata for an image taken by a camera. The metadata should include at
Part 1:


Part 2:

Section B Design a class for managing the metadata for an image taken by a camera. The metadata should include at least the following properties: File Name (string) Image Type (must be one of the following only "PNG", "GIF", or "JPEG") Date Created (you can choose how you want to represent a date) Size (in MB, stored as a double) Author Name (string) Image Dimensions (will have width and height) Aperture Size (represented as f/# where # is an integer like f/8 or f/22) Exposure time (shutter speed, is a fraction of a second like 1/30, or 1/1000) ISO value another integer like 600, or 3000) Flash enabled (boolean value) The image metadata must contain all of these values, and there should never be an uninitialized value. Be sure to provide getters and setters so the values can be read and modified. Prevent invalid values - particularly with the image type, you should not be able to change the image type to an invalid type. Provide an external function (not a member function) that takes an image metadata object, and prints out all of the above information. The format of how this is printed is up to you, just make sure all the data is present. Change the external print function for the image metadata object so that it is a proper non-member output stream overload that takes a const reference to an image metadata object. Just as before, the actual format of the data printed out is up to you and doesn't need to change from whatever you used in the last project
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
