summaryrefslogtreecommitdiffstats
path: root/C++/Multiple Inheritance/INSTRUCTIONS
blob: 7f67b298df82894caff65794f11a53d6dc727491 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Project 9: Multiple Inheritance
Due: Monday, November 7th, 2022 before midnight
100 Points
Using the "Dreaded Diamond" example shown in class (or one you find online), write a program that has a base class, 2 derived classes and a join class. The class names and behaviors are up to you! But, I want to see the following in your program:
1. Each class will have at least 3 variables (in the private section only please)
2. Each class will have least 1 non-trivial function (must have substance, not simple overly simple) as well as any functions needed to get/set your variables and/or anything else needed
3. The join class will use information from each of the derived classes (otherwise there is no point in doing this assignment)
4. Create only 1 object. It will be in main and be for the join class only (no reason to create an object for other classes)
5. Main should have the creation of an object and function calls. Nothing else
Program Ideas:
1. Base class of video games, then 2 derived classes: 1 for mmo and 1 for fps, join class is reviews (review video games - parental rating, star ratings, etc.)
2. Base class of person, then 2 derived classes: 1 for student and 1 for faculty, join class is tutor (create a tutor log that shows who went to the see the tutor, the name of the tutor and student, class name, date, question, etc)
3. Base class of employee, then 2 derived classes: 1 for worker and 1 for manager, join class is payroll (workers are hourly, managers are salaried. Determine the paycheck for both - just like you did in the previous assignments)
4. Base class of movies, then 2 derived classes: 1 for genre and 1 for actors, join class is boxOffice (store box office gross, year released, movie rating, etc. Then, sort on something, such as gross - just like your previous assignment)
If you don't like these ideas, that is okay. Make your own!
Assignment Notes:

    Be sure to make use virtual when inheriting from your base class! (watch the video examples to see what I mean)
    Make variables either arrays or vectors - your choice
    Use input file or keyboard to get data into your program - your choice
    I expect to see functions throughout this program
    I expect to see all variables in class private sections

General Notes:
Be sure to use comments in your program: Name, Program Description, Date and anywhere else in the program you deem necessary.
If you are stuck, I will help you!   
Grading Rubric:

    If you do not include comments at the top of the program (name, program description, date), you will lose 15 points
    If your program is not object-oriented, you will receive a 0/100 (OOP is requred for this assignment)
    If your program does not use functions, you will lose up to 75 points (depending on the number of functions missing)
    If your program does not compile (run), then I will give a grade of 0/100. But will give you the change to repair for points back (some points are better than none)
    If your program is late (within 48 hours of the due date), you will lose 25 points
    If your program is late beyond the 48 hour due date, I will typically still accept it, but you will lose far more points. Depends on when you turn it in
    If you use global variables in your program, I will deduct 5 points for each used
    If your program is not formatted nicely (code all over the place, ugly), you will lose up to 25 points depending on the extent
    If your program stops working when I run it, you will lose points. The exact amount depends on the severity of the error
    If your program still has your friend's name on it, I will send you a message asking you to try harder while giving you a 0/100
    If you submit a file type I cannot open, such as .sln, you will receive a 0/100. You will be able to resubmit for credit, but you will lose up to 90 points (depending on how late it is)
    If your program looks like a a professional programmer wrote it, I will write to you to ask if you want a job. Well, maybe not. But, I will ask about the code
    This is just a list of typical issues I run into when grading to give you some idea of where your points go. Points can be taken off for other reasons.