Enviar búsqueda
Cargar
Lec4
•
Descargar como PPT, PDF
•
0 recomendaciones
•
303 vistas
Ibrahim El-Torbany
Seguir
Tecnología
Educación
Denunciar
Compartir
Denunciar
Compartir
1 de 23
Descargar ahora
Recomendados
Lec4
Lec4
Saad Gabr
Lecture 1 Introduction C++
Lecture 1 Introduction C++
Ajay Khatri
Classes and data abstraction
Classes and data abstraction
Hoang Nguyen
Cpp lernaufgabe linked_list
Cpp lernaufgabe linked_list
Ibrahim El-Torbany
Idea2
Idea2
Ibrahim El-Torbany
Lec3
Lec3
Ibrahim El-Torbany
c++ Unit I.pptx
c++ Unit I.pptx
Kongunadu College of Engineering and Technology
Objective-C for iOS Application Development
Objective-C for iOS Application Development
Dhaval Kaneria
Recomendados
Lec4
Lec4
Saad Gabr
Lecture 1 Introduction C++
Lecture 1 Introduction C++
Ajay Khatri
Classes and data abstraction
Classes and data abstraction
Hoang Nguyen
Cpp lernaufgabe linked_list
Cpp lernaufgabe linked_list
Ibrahim El-Torbany
Idea2
Idea2
Ibrahim El-Torbany
Lec3
Lec3
Ibrahim El-Torbany
c++ Unit I.pptx
c++ Unit I.pptx
Kongunadu College of Engineering and Technology
Objective-C for iOS Application Development
Objective-C for iOS Application Development
Dhaval Kaneria
Lec5
Lec5
Ibrahim El-Torbany
C++ Basics
C++ Basics
Himanshu Sharma
Presentation 1st
Presentation 1st
Connex
lecture02-cpp.ppt
lecture02-cpp.ppt
ssuser0c24d5
lecture02-cpp.ppt
lecture02-cpp.ppt
nilesh405711
lecture02-cpp.ppt
lecture02-cpp.ppt
YashpalYadav46
lecture02-cpp.ppt
lecture02-cpp.ppt
DevliNeeraj
Introduction to oop
Introduction to oop
Kumar
Lec3
Lec3
Saad Gabr
Presentation 4th
Presentation 4th
Connex
C++ programming intro
C++ programming intro
marklaloo
Lecture1
Lecture1
satendrakumar499728
Fundamentals of Programming in C++.ppt
Fundamentals of Programming in C++.ppt
AamirShahzad527024
cs8251 unit 1 ppt
cs8251 unit 1 ppt
praveenaprakasam
C++ppt. Classs and object, class and object
C++ppt. Classs and object, class and object
secondakay
Object Oriented Programming using C++ - Part 1
Object Oriented Programming using C++ - Part 1
University College of Engineering Kakinada, JNTUK - Kakinada, India
C chap16
C chap16
akkaraikumar
Learn c++ Programming Language
Learn c++ Programming Language
Steve Johnson
c++ ppt.ppt
c++ ppt.ppt
FarazKhan89093
UsingCPP_for_Artist.ppt
UsingCPP_for_Artist.ppt
vinu28455
C++ examples &revisions
C++ examples &revisions
Ibrahim El-Torbany
Lec6 mod linked list
Lec6 mod linked list
Ibrahim El-Torbany
Más contenido relacionado
Similar a Lec4
Lec5
Lec5
Ibrahim El-Torbany
C++ Basics
C++ Basics
Himanshu Sharma
Presentation 1st
Presentation 1st
Connex
lecture02-cpp.ppt
lecture02-cpp.ppt
ssuser0c24d5
lecture02-cpp.ppt
lecture02-cpp.ppt
nilesh405711
lecture02-cpp.ppt
lecture02-cpp.ppt
YashpalYadav46
lecture02-cpp.ppt
lecture02-cpp.ppt
DevliNeeraj
Introduction to oop
Introduction to oop
Kumar
Lec3
Lec3
Saad Gabr
Presentation 4th
Presentation 4th
Connex
C++ programming intro
C++ programming intro
marklaloo
Lecture1
Lecture1
satendrakumar499728
Fundamentals of Programming in C++.ppt
Fundamentals of Programming in C++.ppt
AamirShahzad527024
cs8251 unit 1 ppt
cs8251 unit 1 ppt
praveenaprakasam
C++ppt. Classs and object, class and object
C++ppt. Classs and object, class and object
secondakay
Object Oriented Programming using C++ - Part 1
Object Oriented Programming using C++ - Part 1
University College of Engineering Kakinada, JNTUK - Kakinada, India
C chap16
C chap16
akkaraikumar
Learn c++ Programming Language
Learn c++ Programming Language
Steve Johnson
c++ ppt.ppt
c++ ppt.ppt
FarazKhan89093
UsingCPP_for_Artist.ppt
UsingCPP_for_Artist.ppt
vinu28455
Similar a Lec4
(20)
Lec5
Lec5
C++ Basics
C++ Basics
Presentation 1st
Presentation 1st
lecture02-cpp.ppt
lecture02-cpp.ppt
lecture02-cpp.ppt
lecture02-cpp.ppt
lecture02-cpp.ppt
lecture02-cpp.ppt
lecture02-cpp.ppt
lecture02-cpp.ppt
Introduction to oop
Introduction to oop
Lec3
Lec3
Presentation 4th
Presentation 4th
C++ programming intro
C++ programming intro
Lecture1
Lecture1
Fundamentals of Programming in C++.ppt
Fundamentals of Programming in C++.ppt
cs8251 unit 1 ppt
cs8251 unit 1 ppt
C++ppt. Classs and object, class and object
C++ppt. Classs and object, class and object
Object Oriented Programming using C++ - Part 1
Object Oriented Programming using C++ - Part 1
C chap16
C chap16
Learn c++ Programming Language
Learn c++ Programming Language
c++ ppt.ppt
c++ ppt.ppt
UsingCPP_for_Artist.ppt
UsingCPP_for_Artist.ppt
Más de Ibrahim El-Torbany
C++ examples &revisions
C++ examples &revisions
Ibrahim El-Torbany
Lec6 mod linked list
Lec6 mod linked list
Ibrahim El-Torbany
Lec2
Lec2
Ibrahim El-Torbany
Lec2&3 data structure
Lec2&3 data structure
Ibrahim El-Torbany
Lec1
Lec1
Ibrahim El-Torbany
Ass logic
Ass logic
Ibrahim El-Torbany
Math lecture 4 Part 1
Math lecture 4 Part 1
Ibrahim El-Torbany
Tutorial 1
Tutorial 1
Ibrahim El-Torbany
Lec2&3_DataStructure
Lec2&3_DataStructure
Ibrahim El-Torbany
Lecture 2 math 2
Lecture 2 math 2
Ibrahim El-Torbany
Lec1
Lec1
Ibrahim El-Torbany
Chapter 1 what is statistics
Chapter 1 what is statistics
Ibrahim El-Torbany
Más de Ibrahim El-Torbany
(12)
C++ examples &revisions
C++ examples &revisions
Lec6 mod linked list
Lec6 mod linked list
Lec2
Lec2
Lec2&3 data structure
Lec2&3 data structure
Lec1
Lec1
Ass logic
Ass logic
Math lecture 4 Part 1
Math lecture 4 Part 1
Tutorial 1
Tutorial 1
Lec2&3_DataStructure
Lec2&3_DataStructure
Lecture 2 math 2
Lecture 2 math 2
Lec1
Lec1
Chapter 1 what is statistics
Chapter 1 what is statistics
Último
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
Lorenzo Miniero
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
blackmambaettijean
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
LoriGlavin3
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
Lonnie McRorey
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
DianaGray10
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
BookNet Canada
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
Raghuram Pandurangan
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
Fwdays
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
Sergiu Bodiu
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
BkGupta21
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
Fwdays
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
gvaughan
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
mohitsingh558521
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
BookNet Canada
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
UiPathCommunity
How to write a Business Continuity Plan
How to write a Business Continuity Plan
Databarracks
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
Manik S Magar
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
Alex Barbosa Coqueiro
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
Lars Bell
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
Alan Dix
Último
(20)
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
How to write a Business Continuity Plan
How to write a Business Continuity Plan
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
Lec4
1.
Nyhoff, ADTs, Data
Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved. 0-13-140909-3 1 More about OOP and ADTs Classes Chapter 4
2.
Nyhoff, ADTs, Data
Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved. 0-13-140909-3 2 Chapter Contents 4.1 Procedural vs. Object-Oriented Programming 4.2 Classes 4.3 Example: A First Version of a User- Defined Time Class 4.4 Class Constructors 4.5 Other Class Operators
3.
Nyhoff, ADTs, Data
Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved. 0-13-140909-3 3 Chapter Objectives • Contrast OOP with procedural programming • Review classes in C++ • Study in detail a specific example of how a class is built • Show how operators can be overloaded for new types • Show how conditional compilation directives are used to avoid redundant declarations • Discuss pointers to class objects – the this pointer, in particular
4.
Nyhoff, ADTs, Data
Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved. 0-13-140909-3 4 Contrast Procedural, Object Oriented Paradigms Procedural • Action-oriented — concentrates on the verbs • Programmers: – Identify basic tasks to solve problem – Implement actions to do tasks as subprograms (procedures/functions/ subroutines) – Group subprograms into programs/modules/libraries, – together make up a complete system for solving the problem Object-oriented • Focuses on the nouns of problem specification • Programmers: – Determine objects needed for problem – Determine how they should work together to solve the problem. – Create types called classes made up of • data members • function members to operate on the data. – Instances of a type (class) called objects.
5.
Nyhoff, ADTs, Data
Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved. 0-13-140909-3 5 Structs and Classes Similarities • Essentially the same syntax • Both are used to model objects with multiple attributes (characteristics) – represented as data members – also called fields … or … – instance or attribute variables). • Thus, both are used to process non- homogeneous data sets.
6.
Nyhoff, ADTs, Data
Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved. 0-13-140909-3 6 Structs vs. Classes Differences • No classes in C • Members public by default • Can be specified private • Both structs and classes in C++ • Structs can have members declared private • Class members are private by default • Can be specified public
7.
Nyhoff, ADTs, Data
Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved. 0-13-140909-3 7 Advantages in C++ (structs and Classes) • C++ structs and classes model objects which have: – Attributes represented as data members – Operations represented as functions (or methods) • Leads to object oriented programming – Objects are self contained – "I can do it myself" mentality – They do not pass a parameter to an external function
8.
Nyhoff, ADTs, Data
Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved. 0-13-140909-3 8 Class Declaration • Syntax class ClassName { public: Declarations of public members private: Declarations of private members };
9.
Nyhoff, ADTs, Data
Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved. 0-13-140909-3 9 Designing a Class • Data members normally placed in private: section of a class • Function members usually in public: section • Typically public: section followed by private: – although not required by compiler
10.
Nyhoff, ADTs, Data
Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved. 0-13-140909-3 10 Class Libraries • Class declarations placed in header file – Given .h extension – Contains data items and prototypes • Implementation file – Same prefix name as header file – Given .cpp extension • Programs which use this class library called client programs
11.
Nyhoff, ADTs, Data
Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved. 0-13-140909-3 11 Translating a Library
12.
Nyhoff, ADTs, Data
Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved. 0-13-140909-3 12 Example of User-Defined Time Class • Recall Time struct from previous chapter – Actions done to Time object required use of Time parameter in the functions • Now we create a Time class – Actions done to Time object, done by the object itself • Note interface for Time class object, Fig. 4.2 – Data members private – inaccessible to users of the class – Information hiding
13.
Nyhoff, ADTs, Data
Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved. 0-13-140909-3 13 Constructors • Note constructor definition in Time.cpp example • Syntax ClassName::ClassName (parameter_list) : member_initializer_list { // body of constructor definition }
14.
Nyhoff, ADTs, Data
Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved. 0-13-140909-3 14 Constructors • Results of default constructor • Results of explicit-value constructor
15.
Nyhoff, ADTs, Data
Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved. 0-13-140909-3 15 Overloading Functions • Note existence of multiple functions with the same name Time(); Time(unsigned initHours, unsigned initMinutes, char initAMPM); – Known as overloading • Compiler compares numbers and types of arguments of overloaded functions – Checks the "signature" of the functions
16.
Nyhoff, ADTs, Data
Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved. 0-13-140909-3 16 Default Arguments • Possible to specify default values for constructor arguments Time(unsigned initHours = 12, unsigned initMinutes = 0, char initAMPM = 'A'); • Consider Time t1, t2(5), t3(6,30), t4(8,15,'P');
17.
Nyhoff, ADTs, Data
Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved. 0-13-140909-3 17 Copy Operations • During initialization Time t = bedTime • During Assignment t = midnight;
18.
Nyhoff, ADTs, Data
Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved. 0-13-140909-3 18 Redundant Declarations • Note use of #include "Time.h" in – Time.cpp – Client program • Causes "redeclaration" errors at compile time • Solution is to use conditional compilation – Use #ifndef and #define and #endif compiler directives
19.
Nyhoff, ADTs, Data
Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved. 0-13-140909-3 19 Pointers to Class Objects • Possible to declare pointers to class objects Time * timePtr = &t; • Access with timePtr->getMilTime() or (*timePtr).getMilTime()
20.
Nyhoff, ADTs, Data
Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved. 0-13-140909-3 20 The this Pointer • Every class has a keyword, this – a pointer whose value is the address of the object – Value of *this would be the object itself
21.
Example • #include<iostream> • using
namespace std; • class Student • { • public: • int ID; • void GetID(int Index) //Reads the ID from the User • { • cout<<"ID "<<Index<<" : "; • cin>>ID; • } • int Compare(int OtherID) //Compares the Student's ID with another one • { • if(ID > OtherID) • return 1; • else if ( ID < OtherID) • return -1; • else • return 0; //IDs are equal • } • }; Nyhoff, ADTs, Data Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved. 0-13-140909-3 21
22.
• void main() •
{ • int StudentsNumber; • Student* Students; • cout << "Enter the Number of Students : "; • cin >> StudentsNumber; • cout<<endl; • //Create dynamic array of students • Students = new Student[StudentsNumber]; • for(int i=0 ; i<StudentsNumber ; i++) • { • Students[i].GetID(i+1); • } • Nyhoff, ADTs, Data Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved. 0-13-140909-3 22
23.
• //Sorting • for(i=0
; i<StudentsNumber; i++) • { • int Min=Students[i].ID; • int Index = i; • for(int j=i; j<StudentsNumber; j++) • { • if(Students[j].Compare(Min) == -1) • { • Min = Students[j].ID; • Index = j; • } • } • //Swap • Student Temp = Students[i]; • Students[i] = Students[Index]; • Students[Index] = Temp; • } • //Display the sorted IDs • cout<<"nSorted Students IDs are : n"; • for(i=0; i<StudentsNumber ; i++) • cout<<Students[i].ID<<endl; • } Nyhoff, ADTs, Data Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved. 0-13-140909-3 23
Descargar ahora