Create classes `Student`, `Test`, `Sports`, and `Result` to demonstrate hybrid inheritance. Accept data and display total marks.

SOLUTION....

C++ Hybrid Inheritance Example

#include <iostream>
using namespace std;

// Base Class: Student
class Student {
protected:
    int roll;
    string name;
public:
    void inputStudent() {
        cout << "Enter Roll No: ";
        cin >> roll;
        cout << "Enter Name: ";
        cin >> name;
    }
    void showStudent() {
        cout << "Roll No: " << roll << endl;
        cout << "Name: " << name << endl;
    }
};

// Derived Class: Test (from Student)
class Test : public Student {
protected:
    int marks1, marks2;
public:
    void inputTest() {
        cout << "Enter Marks in Subject 1: ";
        cin >> marks1;
        cout << "Enter Marks in Subject 2: ";
        cin >> marks2;
    }
    void showTest() {
        cout << "Subject 1 Marks: " << marks1 << endl;
        cout << "Subject 2 Marks: " << marks2 << endl;
    }
};

// Independent Base Class: Sports
class Sports {
protected:
    int sportsMarks;
public:
    void inputSports() {
        cout << "Enter Sports Marks: ";
        cin >> sportsMarks;
    }
    void showSports() {
        cout << "Sports Marks: " << sportsMarks << endl;
    }
};

// Derived Class: Result (Hybrid inheritance)
class Result : public Test, public Sports {
public:
    void displayResult() {
        int total = marks1 + marks2 + sportsMarks;
        cout << "\n===== RESULT =====" << endl;
        showStudent();
        showTest();
        showSports();
        cout << "Total Marks: " << total << endl;
        cout << "==================" << endl;
    }
};

// Main Function
int main() {
    Result r;

    // Input data
    r.inputStudent();
    r.inputTest();
    r.inputSports();

    // Display result
    r.displayResult();

    return 0;
}
    

OUTPUT

Leave a Reply

Your email address will not be published. Required fields are marked *