/*EXPT 6*/ /*File me likha*/ //parent class - student and child class - ScienceStudent #include using namespace std; class Student{ public: int rno; int marks; Student(int r, int m) : rno(r), marks(m) {} void display(){ cout << "Student Roll No.: " << rno << endl; cout << "Student Marks: " << marks << endl; } }; class ScienceStudent : public Student{ public: ScienceStudent(int r, int m) : Student(r, m) {} void display(){ cout << "Science Student Roll No.: " << rno << endl; cout << "Science Student Marks: " << marks << endl; } }; int main(){ ScienceStudent student1(101, 85); student1.display(); return 0; } /*Better code*/ #include using namespace std; // Base class class Student { public: int rno; int marks; // Constructor to initialize values Student(int r, int m) : rno(r), marks(m) {} // Function in base class void display(){ cout << "Student Roll No.: " << rno << endl; cout << "Student Marks: " << marks << endl; } }; // Derived class for ScienceStudent class ScienceStudent : public Student { public: ScienceStudent(int r, int m) : Student(r, m) {} // Function overriding the base class function void display() { cout << "Science Student Roll No: " << rno << endl; cout << "Science Student Marks: " << marks << endl; } }; // Derived class for ArtsStudent class ArtsStudent : public Student { public: ArtsStudent(int r, int m) : Student(r, m) {} // Function overriding the base class function void display() { cout << "Arts Student Roll No: " << rno << endl; cout << "Arts Student Marks: " << marks << endl; } }; int main() { // Create objects of derived classes ScienceStudent student1(101, 85); ArtsStudent student2(102, 90); // Call function using base class reference, invoking the overridden function student1.display(); // Outputs: Science Student details student2.display(); // Outputs: Arts Student details return 0; }