-
Notifications
You must be signed in to change notification settings - Fork 0
/
Hybrid_Inheritance.cpp
57 lines (56 loc) · 2.45 KB
/
Hybrid_Inheritance.cpp
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include <iostream>
#include <string>
using namespace std;
/*———————————————————————————————————————————————————————————————————————————*/
class student{ // base class 1
int RegNo;
string name;
public:
void getstudent(){
cout << "Enter the Reg No and student name : ";
cin >> RegNo >> name;
}
};
/*———————————————————————————————————————————————————————————————————————————*/
class marks: public student{ //derived class 1
protected:
int marks_math, marks_phy, marks_chem;
public:
void getmarks(){
cout << "Enter 3 subject marks : ";
cin >> marks_math >> marks_phy >> marks_chem;
}
};
/*———————————————————————————————————————————————————————————————————————————*/
class sports{ // base class 2
protected:
int spmarks;
public:
void getsports(){
cout << "Enter sports marks : ";
cin >> spmarks;
cout << endl;
}
};
/*———————————————————————————————————————————————————————————————————————————*/
class result : public marks, public sports{ // derived class 2
int total_marks;
float avg_marks;
public :
void display(){
total_marks = marks_math + marks_phy + marks_chem;
avg_marks = total_marks / 3.0;
cout << "Total marks = " << total_marks << endl;
cout << "Average marks = " << avg_marks << endl;
cout << "Average + Sports marks = " << avg_marks + spmarks << endl;
}
};
/*———————————————————————————————————————————————————————————————————————————*/
int main(){
result res; //object
res.getstudent();
res.getmarks();
res.getsports();
res.display();
return 0;
}