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.

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
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
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education