ses/1373767 /assignments/59371622module item id-14123113 Overloading Produce a project that uses overloading and template classes to solve a multifaceted problem. Load and use data in an array of objects. Use a virtual function. Review menu operation. s 1. Using Microsoft Visual Studio create a Visual C++ Win32 project, and name it: CIS023 S2019 HW13 your name Insert the proper project documentation at the top of the main code file and class headers and code files. Create a main window that looks like this: CIS023 $2019 HW13 Mark Berrett Ele Help First entry: Second entry: ab 13a Method Over ab 13b-Operator O m/courses/1373767/assignmentsy59371622module item jd 14123113 | asa23-S2019-Hw13 Mark Berrett Eile Help First entry Second entry: Add Integer. Double: String 2. Add a template class header. Add a header to the project. Name the header utilities.h. Include the following functions: . TCHARtoInt) InttoTCHARO . TCHARtoDouble() . DoubletoTCHARO TCHARtoStrina courses/1373767/assignments/59371622module item,_id-14123113 3. Create a class definition. Name the class AdditonClass. Create two methods called Confirm(). The first Confirm().method should return a bool value that specifies if the input TCHAR can be converted to an integer (An integer can only have digits between O and 9 or a negative sign as the first character.) The second Confirm() method should return a bool value that specifies if the input TCHAR can be converted to an double. (A double can have digits between 0 and 9, a negative sigrn as the first character, or one and only one decimal point.) Remember that each of the Confirm() methods must have an item on the parameter list that is unique. In other words, there must be some parameter that makes the first Confirm() check for integers and the second for doubles Create three methods called Add(). The first Add) should accept two integers and return the item_id- 14123113 ourses/1373767/assignments/5937162?module Create three methods called Add(). The first Add() should accept two integers and return the sum as an integer. The second Add) should accept two doubles and return the sum as a double. The third Add() should accept two strings and return a concatenated string (insert a space between the two strings). Remember that all return values mush have a member specifier. 4. Capture the button click. Create a function at the bottom of the main module file named Solution() that executes when the Add button is clicked. Capture each of the user Inputs. Clear the outputs. ourses/1373767/assignments/59371622module item id-14123113 Capture each of the user inputs. Clear the outputs. 5. Verify the two user inputs can be converted to integers. In the Solution() function, create an object of type AdditionClass. Call the Confirm() method in the AdditionClass object to verify that both user inputs can be converted to integers. If Confirm) returns true, then use the AddO method to produce the sum of the values and display the sum in the appropriate output label. (This step should call the correct Confirm) and Addo methods created in step 3. 6. Verify the two user inputs can be converted to doubles. Call the Confirm() method in the AdditionClass object to over Lab 13b-Operator Ov Gna es/1373767/assignments/59371622module item id-14123113 methods created in step 3. 6. Verify the two user inputs can be converted to doubles. Call the Confirm() method in the AdditionClass object to verify that both user inputs can be converted to doubles. If Confirm() returns true, then use the Add) method to produce the sum of the values and display the sum in the appropriate output label. (This step should call the correct ConfirmO and Add() methods created in step 3. 7. Display the two user inputs as a single string. Call the Add() method of the AdditionClass object to contaminate the two user strings. Place a space between the strings Display the resulting string in the appropriate output label ses/1373767 /assignments/59371622module item id-14123113 Overloading Produce a project that uses overloading and template classes to solve a multifaceted problem. Load and use data in an array of objects. Use a virtual function. Review menu operation. s 1. Using Microsoft Visual Studio create a Visual C++ Win32 project, and name it: CIS023 S2019 HW13 your name Insert the proper project documentation at the top of the main code file and class headers and code files. Create a main window that looks like this: CIS023 $2019 HW13 Mark Berrett Ele Help First entry: Second entry: ab 13a Method Over ab 13b-Operator O m/courses/1373767/assignmentsy59371622module item jd 14123113 | asa23-S2019-Hw13 Mark Berrett Eile Help First entry Second entry: Add Integer. Double: String 2. Add a template class header. Add a header to the project. Name the header utilities.h. Include the following functions: . TCHARtoInt) InttoTCHARO . TCHARtoDouble() . DoubletoTCHARO TCHARtoStrina courses/1373767/assignments/59371622module item,_id-14123113 3. Create a class definition. Name the class AdditonClass. Create two methods called Confirm(). The first Confirm().method should return a bool value that specifies if the input TCHAR can be converted to an integer (An integer can only have digits between O and 9 or a negative sign as the first character.) The second Confirm() method should return a bool value that specifies if the input TCHAR can be converted to an double. (A double can have digits between 0 and 9, a negative sigrn as the first character, or one and only one decimal point.) Remember that each of the Confirm() methods must have an item on the parameter list that is unique. In other words, there must be some parameter that makes the first Confirm() check for integers and the second for doubles Create three methods called Add(). The first Add) should accept two integers and return the item_id- 14123113 ourses/1373767/assignments/5937162?module Create three methods called Add(). The first Add() should accept two integers and return the sum as an integer. The second Add) should accept two doubles and return the sum as a double. The third Add() should accept two strings and return a concatenated string (insert a space between the two strings). Remember that all return values mush have a member specifier. 4. Capture the button click. Create a function at the bottom of the main module file named Solution() that executes when the Add button is clicked. Capture each of the user Inputs. Clear the outputs. ourses/1373767/assignments/59371622module item id-14123113 Capture each of the user inputs. Clear the outputs. 5. Verify the two user inputs can be converted to integers. In the Solution() function, create an object of type AdditionClass. Call the Confirm() method in the AdditionClass object to verify that both user inputs can be converted to integers. If Confirm) returns true, then use the AddO method to produce the sum of the values and display the sum in the appropriate output label. (This step should call the correct Confirm) and Addo methods created in step 3. 6. Verify the two user inputs can be converted to doubles. Call the Confirm() method in the AdditionClass object to over Lab 13b-Operator Ov Gna es/1373767/assignments/59371622module item id-14123113 methods created in step 3. 6. Verify the two user inputs can be converted to doubles. Call the Confirm() method in the AdditionClass object to verify that both user inputs can be converted to doubles. If Confirm() returns true, then use the Add) method to produce the sum of the values and display the sum in the appropriate output label. (This step should call the correct ConfirmO and Add() methods created in step 3. 7. Display the two user inputs as a single string. Call the Add() method of the AdditionClass object to contaminate the two user strings. Place a space between the strings Display the resulting string in the appropriate output label