Using C++ Define the class called Student. The Student class has the following: Part 1) Private data members: name(string), age(int), units(int). The units represent the number of quarter units student is enrolled in. Define a default constructor as well as a constructor with parameters for the class Student. The class must have get and set functions for all private data members. The set function for the data member units must throw “out_of_range” exception if the number of units is not between 1 and 15. Include a function called tuition (double feePerUnit) that computes and returns the cost of registering for the number of units (in the private data member). The function receives the cost per unit as a parameter. Overload the operator (<<) to display student name and age. Test the class Student by writing a main program in which a Student object is created and displayed. Call the function tution(), you may pass any value as feePerUnit parameter to this function and display the returned value. Demonstrate that the set function for the units data member throws an out_of_rangePart 2) Define the class GradStudent that is derived from the class Student. The GradStudent has a private data member gradFee(double). Define a default constructor as well as a constructor with parameters for the class GradStudent. The class must have get and set functions for private data member gradFee. Redefine the function tuition (double feePerUnit) that computes and returns the cost of registering for the number of units (in the private data member). This function must call the tution() function in the base class and add the gardFee to it. Overload the operator (<<) for the GradStudent to display student name, age and gradFee. Test the class GradStudent, the overloaded operator (<<) and the tuition function (pass any value as feePerUnit) like the student class. Part 3) Demonstrate polymorphic behavior with classes Student and GradStudent. Copy/paste code and a sample screen shot Part 4) Overload the bool operator< (Student s1, Student s2) as a non-member function that receives two student objects as parameter, the function must compare the two students and return true if the number of units taken by Student s1 parameter is less than the number of units taken by Student s2. Test this function in a main program. Part 5) The following questions are related: Write a function template that receives a vector and prints the element of the vector. The return type must be void. Write a function template that receives a vector and returns the smallest element in the vector. Write a main program in which you populate a vector of three students (a mix of Student and GradStudent objects), call the function template in problem 5(a) to print the vector. Then call the function in 5(b) and display the smallest object.

C++ for Engineers and Scientists
4th Edition
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Bronson, Gary J.
Chapter12: Adding Functionality To Your Classes
Section12.4: Class Inheritance And Polymorphism
Problem 5E
icon
Related questions
Question

Using C++ Define the class called Student. The Student class has the following:

Part 1)

Private data members: name(string), age(int), units(int). The units represent the number of quarter units student is enrolled in.

Define a default constructor as well as a constructor with parameters for the class Student.

The class must have get and set functions for all private data members. The set function for the data member units must throw “out_of_range” exception if the number of units is not between 1 and 15.

Include a function called tuition (double feePerUnit) that computes and returns the cost of registering for the number of units (in the private data member). The function receives the cost per unit as a parameter.

Overload the operator (<<) to display student name and age.

Test the class Student by writing a main program in which a Student object is created and displayed. Call the function tution(), you may pass any value as feePerUnit parameter to this function and display the returned value. Demonstrate that the set function for the units data member throws an out_of_rangePart 2) Define the class GradStudent that is derived from the class Student. The GradStudent has a private data member gradFee(double).

      1. Define a default constructor as well as a constructor with parameters for the class GradStudent.
      2. The class must have get and set functions for private data member gradFee.
      3. Redefine the function tuition (double feePerUnit) that computes and returns the cost of registering for the number of units (in the private data member). This function must call the tution() function in the base class and add the gardFee to it.
      4. Overload the operator (<<) for the GradStudent to display student name, age and gradFee.
      5. Test the class GradStudent, the overloaded operator (<<) and the tuition function (pass any value as feePerUnit) like the student class.

Part 3) Demonstrate polymorphic behavior with classes Student and GradStudent. Copy/paste code and a sample screen shot

Part 4) Overload the bool operator< (Student s1, Student s2) as a non-member function that receives two student objects as parameter, the function must compare the two students and return true if the number of units taken by Student s1 parameter is less than the number of units taken by Student s2. Test this function in a main program.

Part 5) The following questions are related:

    1. Write a function template that receives a vector and prints the element of the vector. The return type must be void.
    2. Write a function template that receives a vector and returns the smallest element in the vector.
    3. Write a main program in which you populate a vector of three students (a mix of Student and GradStudent objects), call the function template in problem 5(a) to print the vector. Then call the function in 5(b) and display the smallest object.  

 

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 5 steps with 4 images

Blurred answer
Knowledge Booster
Class
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ for Engineers and Scientists
C++ for Engineers and Scientists
Computer Science
ISBN:
9781133187844
Author:
Bronson, Gary J.
Publisher:
Course Technology Ptr
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning
Microsoft Visual C#
Microsoft Visual C#
Computer Science
ISBN:
9781337102100
Author:
Joyce, Farrell.
Publisher:
Cengage Learning,