1. A CollegeCourse class includes fields representing department, course number, credit hours, and tuition. Its child LabCourse, includes one more field that holds a lab fee charged in addition to the tuition. Create appropriate functions for these classes, and write a program that instantiates and uses objects of each class. Place all code into one file. Use the following code to test your program:
CollegeCourse cc("ENG", 121, 3, 333.33);
LabCourse lc("CIS", 250, 4, 444.44);
cc.showCollegeCourse();
lc.showLabCourse();
UML Class diagram provided. Output should look similar to below.
Sample Run:
ENG121 3 credits. Tuition $333.33
CIS250 4 credits. Tuition $444.44
plus lab fee $30.25 for a grand total of
$474.69
Name the program: TestCourses.cpp, where XX are your initials.
2. Design a class named Month. The class should have the following private members:
• name A MyString object (from the MyString class presented in this chapter) as a member.
The name object should hold the name of a month, such as “January”, ‘February’, etc.
• monthNumber An integer variable that holds the number of the month.
For example January would be 1, February would be 2, etc. Valid values for this variable are 1 through 12.
In addition, provide the following member functions:
• A default constructor that sets monthNumber to 1 and name to “January”.
• A constructor that accepts the name of the month as an argument.
It should set name to the value passed as the argument and set monthNumber to the correct value.
• A constructor that accepts the number of the month as an argument.
It should set monthNumber to the value passed as the argument and set name to the correct month name.
• Appropriate set and get functions for the name and monthNumber member variables.
• Prefix and postfix overloaded ++ operator functions that increment monthNumber and set name to the name of next month.
If monthNumber is set to 12 when these functions execute, they should set monthNumber to 1 and name to “January”.
• Prefix and postfix overloaded -- operator functions that decrement monthNumber and set name to the name of previous month.
If monthNumber is set to 1 when these functions execute, they should set nionthNumber to 12 and name to “December”.
Also, you should overload cout’s << operator and cin’s>> operator to work with the Month class.
Demonstrate the class in a program
• name A MyString object (from the MyString class presented in this chapter) as a member.
The name object should hold the name of a month, such as “January”, ‘February’, etc.
• monthNumber An integer variable that holds the number of the month.
For example January would be 1, February would be 2, etc. Valid values for this variable are 1 through 12.
In addition, provide the following member functions:
• A default constructor that sets monthNumber to 1 and name to “January”.
• A constructor that accepts the name of the month as an argument.
It should set name to the value passed as the argument and set monthNumber to the correct value.
• A constructor that accepts the number of the month as an argument.
It should set monthNumber to the value passed as the argument and set name to the correct month name.
• Appropriate set and get functions for the name and monthNumber member variables.
• Prefix and postfix overloaded ++ operator functions that increment monthNumber and set name to the name of next month.
If monthNumber is set to 12 when these functions execute, they should set monthNumber to 1 and name to “January”.
• Prefix and postfix overloaded -- operator functions that decrement monthNumber and set name to the name of previous month.
If monthNumber is set to 1 when these functions execute, they should set nionthNumber to 12 and name to “December”.
Also, you should overload cout’s << operator and cin’s>> operator to work with the Month class.
Demonstrate the class in a program