C++ PROGRAM Create an abstract class Customer with data members name and ID. Provide pure virtual functions discount() and TotalBillAfterDiscount(). Derive a class Loyal Customer from Customer. The class has additional attributes loyaltyLevel and CurrentShoppingBill. The loyalty bill is an integer number between 1 and 20. The loyaltyLevel of a customer is increased after every 10 shoppings from the store. The discount of loyal customer is calculated based on loyalty number and CurrentShoppingBIll, and has the formula discount = loyaltyLevel% X CurrentShoppingBill (if loyaltyLevel =15 then discount = 15% X CurrentShoppingBill). Derive another class Wandering Customer from Customer. The class has attributes shoppingNumberFromStore and CurrentShoppingBill. The discount is given to Wandering Customer if shoppingNumberFromStore is greater than 5 and CurrentShoppingBill is greater than 1500. If these two conditions are met only then the discount is given otherwise no discount is given. The discount formula for wandering customer is discount = CurrentShoppingBill x (shoppingNumberFromStore/10). TotalBillAfterDiscount() is computed as CurrentShoppingBill – discountedBill for both classes. Write a program to declare two pointers of class Customer. Create an object each of loyal and wandering customer, assign their addresses to pointers of base class, set the values of data members and call the discount and TotalBillAfterDiscount function for each.

C++ for Engineers and Scientists
4th Edition
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Bronson, Gary J.
Chapter12: Adding Functionality To Your Classes
Section12.2: Providing Class Conversion Capabilities
Problem 6E
icon
Related questions
Question

C++ PROGRAM

Create an abstract class Customer with data members name and ID. Provide pure virtual functions discount() and TotalBillAfterDiscount().

Derive a class Loyal Customer from Customer. The class has additional attributes loyaltyLevel and CurrentShoppingBill. The loyalty bill is an integer number between 1 and 20. The loyaltyLevel of a customer is increased after every 10 shoppings from the store. The discount of loyal customer is calculated based on loyalty number and CurrentShoppingBIll, and has the formula discount = loyaltyLevel% X CurrentShoppingBill (if loyaltyLevel =15 then discount = 15% X CurrentShoppingBill).

Derive another class Wandering Customer from Customer. The class has attributes shoppingNumberFromStore and CurrentShoppingBill. The discount is given to Wandering Customer if shoppingNumberFromStore is greater than 5 and CurrentShoppingBill is greater than 1500. If these two conditions are met only then the discount is given otherwise no discount is given. The discount formula for wandering customer is discount = CurrentShoppingBill x (shoppingNumberFromStore/10).

TotalBillAfterDiscount() is computed as CurrentShoppingBill – discountedBill for both classes.

Write a program to declare two pointers of class Customer. Create an object each of loyal and wandering customer, assign their addresses to pointers of base class, set the values of data members and call the discount and TotalBillAfterDiscount function for each.

Expert Solution
steps

Step by step

Solved in 2 steps with 1 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