22
CS1201: Programming Language 2 Classes and objects Inheritance II By:Nouf Aljaffan Edited by : Nouf Almunyif

CS1201: Programming Language 2

Embed Size (px)

DESCRIPTION

CS1201: Programming Language 2. By: Nouf Aljaffan Edited by : Nouf Almunyif. Classes and objects Inheritance II. Example ( public access). #include < iostream > using namespace std ; class rectangleType // base class { protected : double length; double width; public : - PowerPoint PPT Presentation

Citation preview

Page 1: CS1201:  Programming Language 2

CS1201: Programming Language 2

Classes and objectsInheritance II

By:Nouf AljaffanEdited by : Nouf Almunyif

Page 2: CS1201:  Programming Language 2

Example ( public access) #include <iostream>using namespace std;

class rectangleType // base class{protected:

double length;double width;

public:rectangleType() {length = 0;

width = 0;}rectangleType( double L, double w)

{setDimension( L , w); }void setDimension ( double L, double w)

{ if ( L >= 0 ) length = L;else length = 0;if ( w >= 0 )width= w;else width = 0;

2

double getLength(){ return length;}

double getWidth() {return width;}

double area() {return length * width;}

double perimeter() {return 2 * ( length + width

);}void print(){ cout<<"Length = "<< length << " ; Width = " << width;

}

};

Page 3: CS1201:  Programming Language 2

class boxType: public rectangleType {private:

double height;public:

boxType() { height = 0 ;}

boxType( double L, double w, double h) {setDimension( L, w, h); }

~boxType(){}

void setDimension ( double L, double w, double h){ rectangleType::setDimension( L , w );

if ( h >= 0) height = h;else height = 0;}

double getHeight() { return height; }

double area() { return 2 * ( length * width + length * height + width * height ); }

double volume() {return rectangleType::area() * height; }

void print() { rectangleType::print();cout << " ; Height = " << height;}

};

Page 4: CS1201:  Programming Language 2

Cont. Examplevoid main(){rectangleType myRectangle1; rectangleType myRectangle2(8, 6);boxType myBox1; boxType myBox2(10, 7, 3);

cout << "\n myRectangle1: ";myRectangle1.print();cout << " Area of myRectangle1: " << myRectangle1.area() << endl;

cout << "\n myRectangle2: ";myRectangle2.print(); cout << endl;cout << " Area of myRectangle2: " << myRectangle2.area() << endl;

myBox1.print();cout<<"surface area of Mybox" <<myBox1.area();cout<<"volume of mybox1 is " <<myBox1.volumn();

myBox2.print();cout<<"surface area of Mybox" <<myBox2.area();cout<<"volume of mybox1 is " <<myBox2.volumn();}

Page 5: CS1201:  Programming Language 2

Cont. Example

Page 6: CS1201:  Programming Language 2

Over-written Functions

•These functions are NOT overloaded, since they have exactly the same prototype (and header), and they are not in the same class.

•They are over-written functions.

•The over-written function that is closest to the object defined takes precedence.

Page 7: CS1201:  Programming Language 2

public, (default)▫

its public members become public members of the derived class.

its protected members become protected members of the derived class.

Example : base class inherited as public

Page 8: CS1201:  Programming Language 2

#include <iostream>using namespace std;class base // base class{int pri; //private by defaultprotected:int prot;public: int pub;void set(int b) { pri=b;}void setprot(int p) {prot=p;}void show(){ cout<<"in base

pri :"<<pri<<"\n";}};

class drived: public base // drivedclass{int k;public: drived( int x) {k =x; }void showK(){cout<<" in derived k : "<< k << "\n"; cout<<" in deraived prot from base :

"<<prot<<endl;//cout << pri; this is error }} ;//end of class

void main(){

drived ob(3);ob.set(5); // access member of baseob.show(); // access member of baseob.showK(); // access member of drived

class

//ob.prot=5;error }

Page 9: CS1201:  Programming Language 2
Page 10: CS1201:  Programming Language 2

protected▫ its public and protected members become

protected members of the derived class.

▫Example : using protected for inheritance of base class

Page 11: CS1201:  Programming Language 2
Page 12: CS1201:  Programming Language 2
Page 13: CS1201:  Programming Language 2
Page 14: CS1201:  Programming Language 2

private▫its public and protected members become

private members of the derived class.

•In all cases, private members of a base class remain private to that base class.

Page 15: CS1201:  Programming Language 2
Page 16: CS1201:  Programming Language 2

using protected member READ

16

Page 17: CS1201:  Programming Language 2
Page 18: CS1201:  Programming Language 2

using protected member

18

Page 19: CS1201:  Programming Language 2

using protected member

19

Page 20: CS1201:  Programming Language 2
Page 21: CS1201:  Programming Language 2

using protected member

21

Page 22: CS1201:  Programming Language 2

using protected member

22