Example: tourism industry

OOP 01-45 11-09-2013 updated

Object Oriented Programming (CS304) VU Virtual University of Pakistan 1 CS304-Handouts Object Oriented Programming (CS304) VU Virtual University of Pakistan 2 LECTURE .. 8 INTRODUCTION .. 8 WHAT IS A MODEL? .. 10 OO MODELS: .. 11 OBJECT-ORIENTATION - ADVANTAGES .. 12 WHAT IS AN OBJECT? .. 12 TANGIBLE AND INTANGIBLE OBJECTS .. 13 SUMMARY: .. 14 LECTURE .. 15 INFORMATION HIDING: .. 15 ENCAPSULATION .. 16 INTERFACE .. 17 IMPLEMENTATION.

Object Oriented Programming (CS304) VU © Virtual University of Pakistan 3

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Advertisement

Transcription of OOP 01-45 11-09-2013 updated

1 Object Oriented Programming (CS304) VU Virtual University of Pakistan 1 CS304-Handouts Object Oriented Programming (CS304) VU Virtual University of Pakistan 2 LECTURE .. 8 INTRODUCTION .. 8 WHAT IS A MODEL? .. 10 OO MODELS: .. 11 OBJECT-ORIENTATION - ADVANTAGES .. 12 WHAT IS AN OBJECT? .. 12 TANGIBLE AND INTANGIBLE OBJECTS .. 13 SUMMARY: .. 14 LECTURE .. 15 INFORMATION HIDING: .. 15 ENCAPSULATION .. 16 INTERFACE .. 17 IMPLEMENTATION.

2 18 SEPARATION OF INTERFACE & IMPLEMENTATION .. 19 MESSAGES .. 19 SUMMARY .. 19 LECTURE .. 21 ABSTRACTION .. 21 CLASSES .. 23 INHERITANCE .. 25 LECTURE .. 29 CONCEPTS RELATED WITH INHERITANCE .. 29 GENERALIZATION .. 29 SUB-TYPING (EXTENSION) .. 31 SPECIALIZATION (RESTRICTION) .. 32 OVERRIDING .. 34 ABSTRACT CLASSES .. 36 CONCRETE CLASSES .. 38 LECTURE .. 40 SIMPLE ASSOCIATION .. 50 COMPOSITION .. 52 AGGREGATION .. 54 LECTURE .. 55 CLASS COMPATIBILITY .. 55 POLYMORPHISM .. 56 POLYMORPHISM IN OO MODEL .. 56 POLYMORPHISM ADVANTAGES .. 57 OBJECT-ORIENTED MODELING AN EXAMPLE .. 57 LECTURE .. 65 CLASS .. 65 TYPE IN C++ .. 65 ABSTRACTION .. 66 DEFINING A NEW USER DEFINED TYPE .. 66 OBJECT AND CLASS: .. 68 ACCESSING MEMBERS .. 68 ACCESS SPECIFIERS .. 69 LECTURE.

3 72 Object Oriented Programming (CS304) VU Virtual University of Pakistan MEMBER FUNCTIONS .. 72 DEFINING MEMBER FUNCTIONS .. 72 INLINE FUNCTIONS .. 73 CONSTRUCTOR .. 75 CONSTRUCTOR PROPERTIES .. 75 DEFAULT CONSTRUCTOR .. 76 CONSTRUCTOR OVERLOADING .. 77 CONSTRUCTOR OVERLOADING .. 78 COPY 79 SHALLOW COPY .. 81 DEEP COPY .. 82 LECTURE .. 84 SHALLOW COPY .. 85 DEEP COPY .. 90 IMPORTANT POINTS ABOUT COPY CONSTRUCTOR: .. 94 DESTRUCTOR .. 94 ACCESSOR FUNCTIONS .. 95 THIS POINTER .. 96 LECTURE .. 99 USES OF THIS POINTER .. 99 SEPARATION OF INTERFACE AND IMPLEMENTATION.

4 99 COMPLEX NUMBER .. 100 CONST MEMBER FUNCTIONS .. 102 THIS POINTER AND CONST MEMBER FUNCTION .. 104 LECTURE .. 105 USAGE EXAMPLE OF CONSTANT MEMBER FUNCTIONS .. 105 DIFFERENCE BETWEEN INITIALIZATION AND ASSIGNMENT: .. 106 MEMBER INITIALIZER LIST .. 106 CONST OBJECTS .. 107 STATIC VARIABLES .. 109 LECTURE .. 112 ACCESSING STATIC DATA MEMBER .. 113 LIFE OF STATIC DATA MEMBER .. 114 STATIC MEMBER FUNCTION .. 115 THIS POINTER AND STATIC MEMBER FUNCTIONS .. 116 GLOBAL VARIABLE VS. STATIC MEMBERS .. 116 ARRAY OF OBJECTS .. 116 LECTURE .. 118 POINTER TO OBJECTS .. 118 BREAKUP OF NEW OPERATION .. 119 CASE STUDY .. 119 COMPLETE CODE OF DATE CLASS .. 121 LECTURE .. 124 COMPOSITION .. 124 LECTURE .. 132 AGGREGATION .. 135 FRIEND FUNCTIONS .. 138 LECTURE .. 142 Object Oriented Programming (CS304) VU Virtual University of Pakistan OPERATOR OVERLOADING.

5 142 LECTURE .. 149 OVERLOADING ASSIGNMENT 151 LECTURE .. 155 SELF ASSIGNMENT PROBLEM: .. 155 OTHER BINARY OPERATORS .. 156 FRIEND FUNCTIONS AND OPERATOR OVERLOADING .. 157 LECTURE .. 158 STREAM INSERTION OPERATOR .. 158 STREAM EXTRACTION OPERATOR .. 158 OVERLOADING STREAM INSERTION OPERATOR .. 159 OVERLOADING STREAM EXTRACTION OPERATOR: .. 160 OTHER BINARY OPERATORS: .. 161 LECTURE .. 163 SUBSCRIPT [] OPERATOR .. 164 OVERLOADING SUBSCRIPT [] OPERATOR .. 164 OVERLOADING FUNCTION () OPERATOR .. 165 FUNCTION OPERATOR PERFORMING SUB STRING OPERATION, .. 165 UNARY OPERATORS .. 166 LECTURE .. 168 BEHAVIOR OF ++ AND -- FOR PRE-DEFINED TYPES: .. 168 POST-INCREMENT OPERATOR: .. 169 TYPE CONVERSION .. 170 USER DEFINED TYPES: .. 173 DRAWBACKS OF TYPE CONVERSION OPERATOR.

6 174 LECTURE .. 175 PRACTICAL IMPLEMENTATION OF INHERITANCE IN C++ .. 175 INHERITANCE IN CLASSES .. 175 UML NOTATION .. 175 INHERITANCE IN C++ .. 175 IS A RELATIONSHIP .. 176 LECTURE .. 183 ACCESSING BASE CLASS MEMBER FUNCTIONS IN DERIVED CLASS: .. 183 PROTECTED ACCESS SPECIFIER: .. 185 IS A RELATIONSHIP .. 186 STATIC TYPE .. 189 LECTURE .. 191 MODIFIED DEFAULT CONSTRUCTOR .. 199 LECTURE .. 207 OVERLOADING VS. OVERRIDING .. 207 HIERARCHY OF INHERITANCE .. 211 LECTURE .. 213 BASE INITIALIZATION .. 213 TYPES OF INHERITANCE .. 214 PRIVATE INHERITANCE .. 216 Object Oriented Programming (CS304) VU Virtual University of Pakistan 5 LECTURE.

7 218 SPECIALIZATION (RESTRICTION) .. 218 PROTECTED INHERITANCE .. 222 PROPERTIES OF PROTECTED INHERITANCE .. 223 LECTURE .. 225 VIRTUAL FUNCTIONS .. 225 VIRTUAL FUNCTIONS: .. 230 SHAPE HIERARCHY .. 230 STATIC VS DYNAMIC BINDING .. 231 LECTURE .. 233 ABSTRACT CLASSES .. 233 CONCRETE CLASSES .. 234 ABSTRACT CLASSES IN C++ .. 234 PURE VIRTUAL FUNCTIONS .. 234 SHAPE HIERARCHY .. 235 VIRTUAL DESTRUCTORS .. 236 VIRTUAL FUNCTIONS USAGE .. 238 V TABLE .. 240 DYNAMIC DISPATCH (DYNAMIC BINDING) .. 242 LECTURE .. 243 POLYMORPHISM CASE STUDY: A SIMPLE PAYROLL APPLICATION .. 243 SHAPE HIERARCHY REVISITED: .. 246 LECTURE .. 250 MULTIPLE INHERITANCE .. 250 PROBLEMS IN MULTIPLE INHERITANCE .. 251 VIRTUAL INHERITANCE .. 256 LECTURE .. 258 GENERIC PROGRAMMING .. 259 259 FUNCTION TEMPLATES.

8 260 LECTURE .. 264 MULTIPLE TYPE ARGUMENTS .. 264 USER-DEFINED TYPES .. 264 OVERLOADING VS. TEMPLATES .. 265 TEMPLATE ARGUMENTS AS POLICY: .. 266 FIRST SOLUTION: .. 267 SECOND SOLUTION: .. 267 THIRD SOLUTION .. 268 DEFAULT POLICY .. 269 LECTURE .. 270 GENERIC ALGORITHMS .. 270 CLASS TEMPLATES .. 272 EXAMPLE CLASS TEMPLATE .. 273 LECTURE .. 276 MEMBER TEMPLATES: .. 276 CLASS TEMPLATE SPECIALIZATION .. 278 LECTURE .. 282 Object Oriented Programming (CS304) VU Virtual University of Pakistan MEMBER TEMPLATES REVISITED .. 282 PARTIAL SPECIALIZATION: .. 283 FUNCTION TEMPLATES .. 284 COMPLETE 285 USING DIFFERENT SPECIALIZATIONS .. 286 NON-TYPE PARAMETERS .. 286 EXAMPLE TEMPLATE CLASS ARRAY.

9 286 DEFAULT NON-TYPE PARAMETERS .. 288 DEFAULT TYPE PARAMETERS .. 288 LECTURE .. 288 RESOLUTION ORDER .. 289 FUNCTION TEMPLATE OVERLOADING .. 290 RESOLUTION ORDER .. 291 TEMPLATES AND INHERITANCE .. 291 DERIVATIONS IN CASE OF A GENERAL TEMPLATE CLASS .. 291 LECTURE .. 296 TEMPLATES AND FRIENDS .. 296 TEMPLATES AND FRIENDS RULE 1 .. 296 TEMPLATES AND FRIENDS RULE 2 .. 297 TEMPLATES AND FRIENDS RULE 3 .. 299 TEMPLATES AND FRIENDS RULE 4 .. 301 LECTURE .. 303 TEMPLATES & STATIC MEMBERS .. 303 TEMPLATES CONCLUSION .. 304 GENERIC ALGORITHMS REVISITED .. 305 GENERIC ALGORITHMS REVISITED .. 306 GENERIC ALGORITHM .. 308 PROBLEMS .. 308 LECTURE .. 309 CURSORS .. 309 ITERATORS .. 312 LECTURE .. 316 STANDARD TEMPLATE LIBRARY: .. 316 STL CONTAINERS .. 316 COMMON FUNCTIONS FOR ALL CONTAINERS.

10 322 FUNCTIONS FOR FIRST-CLASS CONTAINERS .. 322 CONTAINER REQUIREMENTS .. 323 LECTURE .. 325 ITERATORS .. 325 ITERATOR CATEGORIES .. 325 ITERATOR SUMMARY:.. 325 CONTAINER AND ITERATOR TYPES: .. 326 SEQUENCE CONTAINERS .. 326 ASSOCIATIVE CONTAINERS .. 327 CONTAINER ADAPTERS .. 327 ITERATOR OPERATIONS .. 327 ALGORITHMS .. 331 LECTURE .. 334 EXAMPLE ABNORMAL TERMINATION .. 334 Object Oriented Programming (CS304) VU Virtual University of Pakistan GRACEFUL TERMINATION .. 335 ERROR HANDLING .. 335 EXCEPTION HANDLING .. 338 EXCEPTION HANDLING PROCESS .. 338 LECTURE.


Related search queries