Inheritance in c++

            

# include <iostream>
# include <string>
using namespace std;

class School
{
    class SchoolParameters
    {
        string sch_name;
        string location;
        int     year_est;

        public:

        SchoolParameters(string s, string l, int y)
        {
            sch_name=s;
            location=l;
            year_est=y;
        }
        string getSchName()
        {
            return sch_name;
        }
        string getLocation()
        {
            return location;
        }
        int getYear()
        {
            return year_est;
        }
    };
    public:
    SchoolParameters NewSchool;

    School(string s, string l, int y): NewSchool(s,l,y){}
    void displaySchName()
    {
        cout<< NewSchool.getSchName()<<endl;
    }

    void displayLocation()
    {
        cout<<NewSchool.getLocation()<<endl;
    }

    void displayYear()
    {
        cout<<NewSchool.getYear()<<endl;
    }
};

class University: public School
{
    string Vice;
    public:

    University(string s, string l, int y, string VC): School(s,l,y)
    {
        Vice =VC;
    }
    void displaySchName()
    {
        School::displaySchName();
    }
};

class Polytechnic: public School
{
    string Rector;
    public:

    Polytechnic(string s, string l, int y, string Rec): School(s,l,y)
    {
        Rector =Rec;
    }
    void displaySchName()
    {
        School::displaySchName();
    }
};

main()
{
    University * Uni1[3]={new University("Unilorin","Ilorin",1945,"Prof. Ambali"),
                          new University("Kwasu","Molete",1990,"Prof. Na'Allah"),
                          new University("OAU","Ife",1954,"Prof. Ayobami")};
    Polytechnic * Poly1[3]={new Polytechnic("KwaraPoly","Ilorin",1955,"Dr. Agboola"),
                            new Polytechnic("OffaPoly","Offa",1965,"Dr. Ojo"),
                            new Polytechnic("LagosPoly","Lagos",1975,"Dr. Shola")};


    for(int i=0; i<3; i++)
    {
     (*Uni1[i]).displaySchName();
    }

    for(int i=0; i<3; i++)
    {
     (*Poly1[i]).displaySchName();
    }


     for(int i=0; i<3; i++)
    {
     if((*Uni1[i]).School::NewSchool.getLocation()==(*Poly1[i]).School::NewSchool.getLocation())
     {
         (*Uni1[i]).displaySchName();
         Uni1[i]->displaySchName();
         (*Poly1[i]).displaySchName();
     }
    }
}

No comments:

Powered by Blogger.