+ All Categories
Home > Software > 2 BytesC++ course_2014_c5_ structures and classes

2 BytesC++ course_2014_c5_ structures and classes

Date post: 04-Aug-2015
Category:
Upload: kinan-ke
View: 29 times
Download: 1 times
Share this document with a friend
Popular Tags:
62
Kinan keshkeh IT Engineering-Damascus University 3 rd year Summer course- 2014 2 bytes team
Transcript
Page 1: 2 BytesC++ course_2014_c5_ structures and classes

Kinan keshkeh

IT Engineering-Damascus University

3rd year

Summer course- 2014

2 bytes team

Page 2: 2 BytesC++ course_2014_c5_ structures and classes

Welcome guys !

Page 3: 2 BytesC++ course_2014_c5_ structures and classes

Smashing C++ !!

Page 4: 2 BytesC++ course_2014_c5_ structures and classes

Classes & Structures

Page 5: 2 BytesC++ course_2014_c5_ structures and classes

Structures !

Page 6: 2 BytesC++ course_2014_c5_ structures and classes

Structures

• Holds pieces of data

Page 7: 2 BytesC++ course_2014_c5_ structures and classes

Structures

• Holds pieces of data

Page 8: 2 BytesC++ course_2014_c5_ structures and classes

Structures

• Holds pieces of data

struct structName{ ……….members …….. } its objects(if any) ;

Page 9: 2 BytesC++ course_2014_c5_ structures and classes

Structures

• A member could be from a struct type .

struct Date{ int month; int day; int year; } x,y ; struct PersonInfo { double height;//in cm int weight;//in kg Date birthday; };

Page 10: 2 BytesC++ course_2014_c5_ structures and classes

Structures

• A member could be from a struct type .

struct Date{ int month; int day; int year; } x,y ; struct PersonInfo { double height;//in cm int weight;//in kg Date birthday; };

You can define Like this or like this : Date x,y ;

Page 11: 2 BytesC++ course_2014_c5_ structures and classes

Structures

• A member could be from a struct type .

struct Date{ int month; int day; int year; } x,y ; struct PersonInfo { double height;//in cm int weight;//in kg Date birthday; };

Don’t forget comma !

Page 12: 2 BytesC++ course_2014_c5_ structures and classes

Structures

struct structName{ ……….members …….. } its objects(if any) ; ….. …… int main() { …. }

• This declaration must be Global , to be seen by all functions.

Page 13: 2 BytesC++ course_2014_c5_ structures and classes

Structures

• It’s a type ! So it means :

struct Date{ int month; int day; int year; }

void get(Date x, int count )

Page 14: 2 BytesC++ course_2014_c5_ structures and classes

Structures

struct Date{ int month; int day; int year; };

Date get (int z , int count )

• It’s a type ! So it means :

Page 15: 2 BytesC++ course_2014_c5_ structures and classes

struct Date{ int month; int day; int year; } x,y ; struct PersonInfo { double height;//in cm int weight;//in kg Date birthday; };

Structures

PersonInfo christoph ; christoph.height=170; christoph.weight=70; christoph.birthday.month=10 ; christoph.birthday.day=3 ; christoph.birthday.year=1978 ;

• To reach to its members :

Page 16: 2 BytesC++ course_2014_c5_ structures and classes

struct Date{ int month; int day; int year; } x,y ; struct PersonInfo { double height;//in cm int weight;//in kg Date birthday; };

Structures

PersonInfo christoph ; christoph.height=170; christoph.weight=70; christoph.birthday.month=10 ; christoph.birthday.day=3 ; christoph.birthday.year=1978 ;

• To reach to its members :

Page 17: 2 BytesC++ course_2014_c5_ structures and classes

Structures

• Initialize :

struct Date{ int month; int day; int year; } x,y ; struct PersonInfo { double height;//in cm int weight;//in kg Date birthday; };

• Like Arrays

Page 18: 2 BytesC++ course_2014_c5_ structures and classes

Structures

• Initialize :

struct Date{ int month; int day; int year; } x,y ; struct PersonInfo { double height;//in cm int weight;//in kg Date birthday; };

• Like Arrays

• Sequentially

Page 19: 2 BytesC++ course_2014_c5_ structures and classes

Structures

• Initialize :

struct Date{ int month; int day; int year; } x,y ; struct PersonInfo { double height;//in cm int weight;//in kg Date birthday; };

• Like Arrays

• Sequentially

• PersonInfo

Page 20: 2 BytesC++ course_2014_c5_ structures and classes

Structures

• Initialize :

struct Date{ int month; int day; int year; } x,y ; struct PersonInfo { double height;//in cm int weight;//in kg Date birthday; };

• Like Arrays

• Sequentially

• PersonInfo

• height

Page 21: 2 BytesC++ course_2014_c5_ structures and classes

Structures

• Initialize :

struct Date{ int month; int day; int year; } x,y ; struct PersonInfo { double height;//in cm int weight;//in kg Date birthday; };

• Like Arrays

• Sequentially

• PersonInfo

• height • weight

Page 22: 2 BytesC++ course_2014_c5_ structures and classes

Structures

• Initialize :

struct Date{ int month; int day; int year; } x,y ; struct PersonInfo { double height;//in cm int weight;//in kg Date birthday; };

• Like Arrays

• Sequentially

• PersonInfo

• height • weight • birthday

Page 23: 2 BytesC++ course_2014_c5_ structures and classes

Structures

• Initialize :

struct Date{ int month; int day; int year; } x,y ; struct PersonInfo { double height;//in cm int weight;//in kg Date birthday; };

• Like Arrays

• Sequentially

• PersonInfo

• height • weight • birthday

• month • day • year

Page 24: 2 BytesC++ course_2014_c5_ structures and classes

Structures

• Initialize :

struct Date{ int month; int day; int year; } x,y ; struct PersonInfo { double height;//in cm int weight;//in kg Date birthday; };

• Like Arrays

• Sequentially

• PersonInfo

• height • weight • birthday

• month • day • year

Page 25: 2 BytesC++ course_2014_c5_ structures and classes

Structures

• Initialize :

struct Date{ int month; int day; int year; } x,y ; struct PersonInfo { double height;//in cm int weight;//in kg Date birthday; };

• Like Arrays

• Sequentially

• PersonInfo

• height • weight • birthday

• month • day • year

Page 26: 2 BytesC++ course_2014_c5_ structures and classes

Structures

• Initialize :

struct Date{ int month; int day; int year; } x,y ; struct PersonInfo { double height;//in cm int weight;//in kg Date birthday; };

• Like Arrays

• Sequentially

• PersonInfo

• height • weight • birthday

• month • day • year

Page 27: 2 BytesC++ course_2014_c5_ structures and classes

Structures

• Initialize :

struct Date{ int month; int day; int year; } x,y ; struct PersonInfo { double height;//in cm int weight;//in kg Date birthday; };

• Like Arrays

• Sequentially

• PersonInfo

• height • weight • birthday

• month • day • year

Page 28: 2 BytesC++ course_2014_c5_ structures and classes

Structures

• Initialize :

struct Date{ int month; int day; int year; } x,y ; struct PersonInfo { double height;//in cm int weight;//in kg Date birthday; };

PersonInfo christoph ={170,70, 10,3,1978};

Page 29: 2 BytesC++ course_2014_c5_ structures and classes

Structures

• Initialize :

struct Date{ int month; int day; int year; } x,y ; struct PersonInfo { double height;//in cm int weight;//in kg Date birthday; };

PersonInfo christoph ={170,70, 10,3,1978};

Page 30: 2 BytesC++ course_2014_c5_ structures and classes

Structures

• Initialize :

struct Date{ int month; int day; int year; } x,y ; struct PersonInfo { double height;//in cm int weight;//in kg Date birthday; };

PersonInfo christoph ={170,70, 10,3,1978};

Page 31: 2 BytesC++ course_2014_c5_ structures and classes

Structures

• Initialize :

struct Date{ int month; int day; int year; } x,y ; struct PersonInfo { double height;//in cm int weight;//in kg Date birthday; };

PersonInfo christoph ={170,70, 10,3,1978};

Page 32: 2 BytesC++ course_2014_c5_ structures and classes

Structures

• Initialize :

struct Date{ int month; int day; int year; } x,y ; struct PersonInfo { double height;//in cm int weight;//in kg Date birthday; };

PersonInfo christoph ={170,70, 10,3,1978};

Page 33: 2 BytesC++ course_2014_c5_ structures and classes

Structures

• Initialize :

struct Date{ int month; int day; int year; } x,y ; struct PersonInfo { double height;//in cm int weight;//in kg Date birthday; };

PersonInfo christoph ={170,70};

Page 34: 2 BytesC++ course_2014_c5_ structures and classes

Structures

• Initialize :

struct Date{ int month; int day; int year; } x,y ; struct PersonInfo { double height;//in cm int weight;//in kg Date birthday; };

PersonInfo christoph ={170,70};

month=0; day=0; year=0;

Page 35: 2 BytesC++ course_2014_c5_ structures and classes

Structures

• Initialize :

struct Date{ int month; int day; int year; } x,y ; struct PersonInfo { double height;//in cm int weight;//in kg Date birthday; };

PersonInfo christoph ={170,70};

month=0; day=0; year=0;

Page 36: 2 BytesC++ course_2014_c5_ structures and classes

Structures

• Initialize :

struct Date{ int month; int day; int year; } x,y ; struct PersonInfo { double height;//in cm int weight;//in kg Date birthday; };

Note :

Unlike Array , when you initialize , if you pass the number of members !

You will have an Error !

Page 37: 2 BytesC++ course_2014_c5_ structures and classes
Page 38: 2 BytesC++ course_2014_c5_ structures and classes

& To save the memebers values !

Page 39: 2 BytesC++ course_2014_c5_ structures and classes

Output:

Page 40: 2 BytesC++ course_2014_c5_ structures and classes

Classes !

Page 41: 2 BytesC++ course_2014_c5_ structures and classes
Page 42: 2 BytesC++ course_2014_c5_ structures and classes
Page 43: 2 BytesC++ course_2014_c5_ structures and classes

Classes

• It’s like a Struct.

• Its members could be Functions and data

• it supports( information hiding, data abstraction, and encapsulation )

Page 44: 2 BytesC++ course_2014_c5_ structures and classes

Classes

• It’s like a Struct.

• Its members could be Functions and data

• it supports( information hiding, data abstraction, and encapsulation )

• private, only seen in the current class(for class functions) , unseen out of class !

• public, seen everywhere (in current class and out of class)

• We use two things in classes :

Page 45: 2 BytesC++ course_2014_c5_ structures and classes

Classes

• It’s like a Struct.

• Its members could be Functions and data

• it supports( information hiding, data abstraction, and encapsulation )

• Mostly in each class , you might have get(privateto variables )and set(variablesprivate) functions

• private, only seen in the current class(for class functions) , unseen out of class !

• public, seen everywhere (in current class and out of class)

• We use two things in classes :

Page 46: 2 BytesC++ course_2014_c5_ structures and classes

Classes

• Mostly in each class , you might have get(privateto variables )and set(variablesprivate) functions

Page 47: 2 BytesC++ course_2014_c5_ structures and classes

Classes

• Mostly in each class , you might have get(privateto variables )and set(variablesprivate) functions

Accessor functions Mutator functions

Page 48: 2 BytesC++ course_2014_c5_ structures and classes

Classes

class className{ private: ……….members …….. public: ……….members …….. } ;

Page 49: 2 BytesC++ course_2014_c5_ structures and classes

Classes

class className{ private: ……….members …….. public: ……….members …….. } ;

Don’t forget!

Page 50: 2 BytesC++ course_2014_c5_ structures and classes
Page 51: 2 BytesC++ course_2014_c5_ structures and classes

• You can definitions them here !

• But it’s better not !

Page 52: 2 BytesC++ course_2014_c5_ structures and classes
Page 53: 2 BytesC++ course_2014_c5_ structures and classes
Page 54: 2 BytesC++ course_2014_c5_ structures and classes

Returned type

Class name

“ : : “

Page 55: 2 BytesC++ course_2014_c5_ structures and classes
Page 56: 2 BytesC++ course_2014_c5_ structures and classes

• Output:

Page 57: 2 BytesC++ course_2014_c5_ structures and classes

Classes

class className{ private: ……….members …….. public: ……….members …….. } ;

Page 58: 2 BytesC++ course_2014_c5_ structures and classes

Classes

class className{ int num,den; public: ……….members …….. } ;

Page 59: 2 BytesC++ course_2014_c5_ structures and classes

Classes

struct structName{ int num,den; …members …….. } ;

Page 60: 2 BytesC++ course_2014_c5_ structures and classes

Classes

struct structName{ int num,den; …members …….. } ;

Page 61: 2 BytesC++ course_2014_c5_ structures and classes

That’s for today

We’re finished !!

Page 62: 2 BytesC++ course_2014_c5_ structures and classes

2 bytes team

Group : group link

Mobile phone- Kinan : 0994385748

Facebook account : kinan’s account

2 bytes team


Recommended