Using C++, Define a class Student with member variables for a student’s name, student number, address and degree. All of these member variables are strings. Add appropriate constructors and accessors for class Student and include the following member functions: • a member function display_info()that overloads the stream insertion operator << to display the values of all the member variables of a student. • a member function calcFee() to calculate the initial registration fee for a student. For undergraduate students the initial registration fee is R500 and for postgraduate students the initial registration fee is R600. All undergraduate student degrees begin with a ‘B’ which will allow you to determine whether a student is an undergraduate or postgraduate student. (a) Implement class Student. (b) Test class Student in a driver program that does the following: • instantiates an object of class Student, with the following details: name: Mary Mbeli student number: 12345678 address: Po Box 16, Pretoria, 0818 degree: BSc • use the accessor functions to display the specifications of the instantiated object on the console • display the specifications of the instantiated object on the console with the member function display_info(). • calculate and display the fee for the student. (c) Derive and implement a class PostgradStd from class Student. This class has an additional member variable, dissertation (the title of the Masters of doctorate the student is doing). Class PostgradStd also has an overloaded constructor and an accessor member to return the member variable dissertation. The class PostgradStd should override function display_info() in order to display the values of all the member variables of PostgradStd. The class PostgradStd should also override function calcFee() to determine the additional fee for a postgraduate student which is R12000. Implement the overloaded constructor for the class PostgradStd by invoking the base class constructor. (d) Test class PostgradStd in a driver program that does the following: • instantiates an object of class PostgradStd, with the following details: name: Mary Mbeli student number: 12345678 address: Po Box 16, Pretoria, 0818 degree: PhD dissertation: How to get a PhD • use the accessor functions to display the specifications of the instantiated object on the console • display the specifications of the instantiated object on the console with the member function display_info(). • calculate and display the outstanding fee for the student.
OOPs
In today's technology-driven world, computer programming skills are in high demand. The object-oriented programming (OOP) approach is very much useful while designing and maintaining software programs. Object-oriented programming (OOP) is a basic programming paradigm that almost every developer has used at some stage in their career.
Constructor
The easiest way to think of a constructor in object-oriented programming (OOP) languages is:
Using C++, Define a class Student with member variables for a student’s name, student number, address and degree. All of these member variables are strings. Add appropriate constructors and accessors for class Student and include the following member functions: • a member function display_info()that overloads the stream insertion operator << to display the values of all the member variables of a student. • a member function calcFee() to calculate the initial registration fee for a student. For undergraduate students the initial registration fee is R500 and for postgraduate students the initial registration fee is R600. All undergraduate student degrees begin with a ‘B’ which will allow you to determine whether a student is an undergraduate or postgraduate student. (a) Implement class Student. (b) Test class Student in a driver program that does the following: • instantiates an object of class Student, with the following details: name: Mary Mbeli student number: 12345678 address: Po Box 16, Pretoria, 0818 degree: BSc • use the accessor functions to display the specifications of the instantiated object on the console • display the specifications of the instantiated object on the console with the member function display_info(). • calculate and display the fee for the student. (c) Derive and implement a class PostgradStd from class Student. This class has an additional member variable, dissertation (the title of the Masters of doctorate the student is doing). Class PostgradStd also has an overloaded constructor and an accessor member to return the member variable dissertation. The class PostgradStd should override function display_info() in order to display the values of all the member variables of PostgradStd. The class PostgradStd should also override function calcFee() to determine the additional fee for a postgraduate student which is R12000. Implement the overloaded constructor for the class PostgradStd by invoking the base class constructor. (d) Test class PostgradStd in a driver program that does the following: • instantiates an object of class PostgradStd, with the following details: name: Mary Mbeli student number: 12345678 address: Po Box 16, Pretoria, 0818 degree: PhD dissertation: How to get a PhD • use the accessor functions to display the specifications of the instantiated object on the console • display the specifications of the instantiated object on the console with the member function display_info(). • calculate and display the outstanding fee for the student.
![](/static/compass_v2/shared-icons/check-mark.png)
Step by step
Solved in 4 steps with 1 images
![Blurred answer](/static/compass_v2/solution-images/blurred-answer.jpg)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![C How to Program (8th Edition)](https://www.bartleby.com/isbn_cover_images/9780133976892/9780133976892_smallCoverImage.gif)
![Database Systems: Design, Implementation, & Manag…](https://www.bartleby.com/isbn_cover_images/9781337627900/9781337627900_smallCoverImage.gif)
![Programmable Logic Controllers](https://www.bartleby.com/isbn_cover_images/9780073373843/9780073373843_smallCoverImage.gif)