This document discusses object oriented programming using C++. It begins by covering topics like principles of OOP, the need for studying the subject, and how C++ overcomes the software crisis. It then discusses the software crisis in more detail, including characteristics of problematic software. The evolution of programming languages from machine code to assembly to high-level languages is examined. Finally, the document introduces C++ and how it facilitates object oriented programming to address issues with procedural programming.
This document outlines an object-oriented programming course. The course aims to teach OOP concepts like encapsulation, inheritance and polymorphism using C++. It will cover basic building blocks like classes and objects, access specifiers, constructors, destructors, function overloading and more. Students are expected to have experience in C and knowledge of functions, structures and pointers. The goal is to learn OOP principles, practice coding, and ask questions.
C++ is a middle-level programming language developed by Bjarne Stroustrup starting in 1979 at Bell Labs. C++ runs on a variety of platforms, such as Windows, Mac OS, and the various versions of UNIX
Most C++ compilers don't care what extension you give your source code, but if you don't specify otherwise, many will use .cpp by default
Most frequently used and free available compiler is GNU C/C++ compiler, otherwise you can have compilers either from HP or Solaris if you have respective Operating Systems.
The document discusses the limitations of procedural programming languages and how object-oriented programming (OOP) addresses these limitations. Specifically, it notes that procedural languages have issues with unrestricted access to global data and modeling real-world objects which have both attributes and behaviors. OOP combines data and functions that operate on that data into single units called objects, encapsulating the data and hiding it from direct access. This solves the problems of procedural languages by restricting access to data and more closely modeling real objects.
Object Oriented Programming is a programming paradigm that uses objects and their interactions to design applications and computer programs. The document discusses the limitations of procedural programming and how object oriented programming aims to address these. It introduces key concepts of OOP like classes, objects, encapsulation, inheritance and polymorphism. Classes act as a blueprint to create real objects with data and behaviors. The document provides examples of defining empty classes and creating multiple objects in Python.
C++ is an object-oriented programming language that is an extension of C. It allows for data abstraction through the use of classes and objects. Some key features of C++ include data encapsulation, inheritance, polymorphism, and reusability. C++ is a mid-level language that is compiled, supports pointers, and has a rich standard library. It is commonly used for system applications, games, and other performance-critical software due to its speed and ability to interface with hardware. Some example applications include operating systems, browsers, databases, and graphics/game engines.
Oop lec 2(introduction to object oriented technology)Asfand Hassan
The document discusses high-level and low-level programming languages. It explains that high-level languages resemble human languages but must be translated into machine language that CPUs can understand using compilers. Low-level languages like assembly language are closer to machine language. The document also introduces object-oriented programming characteristics like encapsulation, inheritance and polymorphism. It provides examples of classes and objects in C++ and describes relationships between objects like attributes, associations and aggregations.
This document provides an overview of object-oriented programming (OOP) using C++. It defines key OOP concepts like classes, objects, abstraction, encapsulation, inheritance, and polymorphism. It notes that OOP improves software development productivity and maintainability by making code modular and reusable. OOP also allows for faster development and lower costs due to code reuse. However, OOP has disadvantages like a steep learning curve and producing slower programs in some cases. The document provides examples of where OOP is commonly applied, such as user interfaces, real-time systems, and artificial intelligence.
DOC-20210303-WA0017..pptx,coding stuff in cfloraaluoch3
This document provides an overview of procedural programming and object-oriented programming concepts. It discusses modular programming in C language and compilers used for C/C++. It then covers the software crisis and evolution, procedural programming paradigm, and introduction to object-oriented approach. Key characteristics of OOP like classes, objects, encapsulation, inheritance and polymorphism are explained. Benefits of OOP like code reusability and improved reliability are highlighted. Popular OOP languages like Java, C++, and Python are listed with examples of applications like real-time systems and databases.
This document outlines the aims, design, objectives, and units of a Visual C++ programming course. The aims are to review object-oriented design and impart skills in developing VC++ applications using fundamental C++ features like classes, objects, inheritance, and encapsulation. The course is divided into units that cover developing applications using the VC++ IDE, object-oriented programming concepts, and Visual C++ basics like data types, expressions, and control structures. Key concepts like classes, objects, inheritance, polymorphism, encapsulation, and abstraction are defined. The document provides details on theory and practical lessons for each unit.
C++ [ principles of object oriented programming ]Rome468
C++ is an enhanced version of C that adds support for object-oriented programming. It includes everything in C and allows for defining classes and objects. Classes allow grouping of related data and functions, and objects are instances of classes. Key concepts of OOP supported in C++ include encapsulation, inheritance, and polymorphism. Encapsulation binds data and functions together in a class and allows hiding implementation details. Inheritance allows defining new classes based on existing classes to reuse their functionality. Polymorphism enables different classes to have similarly named functions that demonstrate different behavior.
The document outlines an Object Oriented Programming course. The course objectives are to understand basic programming constructs, object-oriented principles using C++, and problem solving techniques. The course contents cover C++ programming basics, structures, functions, objects, classes, inheritance and more. Lectures will be interactive, include quizzes, and students will work on individual lab assignments and projects. Grading will include labs, quizzes, midterms and finals.
The document discusses object-oriented programming and C++. It begins with an introduction to OOP compared to procedural programming. Key concepts of OOP like classes, objects, inheritance and polymorphism are explained. The document then discusses C++ programming, including the structure of C++ programs, basic input/output functions, data types in C++, variables and constants. Pointers in C++ and how computer memory works with pointers are also summarized.
This document provides an introduction to object-oriented programming (OOP). It discusses the differences between procedural programming and OOP, defining OOP as a methodology that associates data structures with operators. The core concepts of OOP are defined as objects, classes, encapsulation, inheritance, polymorphism, and message passing. Objects are instances of classes that package both data and methods. Encapsulation binds data and methods within an object, while inheritance allows classes to acquire properties from other classes in a hierarchy. Polymorphism enables different implementations through message passing between objects.
This document provides an overview of object-oriented programming (OOP) concepts, including:
- It compares procedural programming (POP) and OOP, noting that OOP was developed to overcome limitations of POP like reusability and maintainability.
- In OOP, a program is divided into objects that contain both data and functions, whereas in POP programs are divided into smaller programs called functions.
- The document outlines some key differences between POP and OOP, such as OOP emphasizing data over procedures and using access specifiers and bottom-up design.
The document discusses object-oriented programming and how it relates to assembling a computer system from components. It states that object-oriented programming works similarly by making a program up of different self-contained objects that can communicate with each other in predefined ways, just like computer components fit together and communicate. It then provides a problem statement for building an order management system and outlines the contents to be covered related to basic C++ concepts.
FellowBuddy.com is an innovative platform that brings students together to share notes, exam papers, study guides, project reports and presentation for upcoming exams.
We connect Students who have an understanding of course material with Students who need help.
Benefits:-
# Students can catch up on notes they missed because of an absence.
# Underachievers can find peer developed notes that break down lecture and study material in a way that they can understand
# Students can earn better grades, save time and study effectively
Our Vision & Mission – Simplifying Students Life
Our Belief – “The great breakthrough in your life comes when you realize it, that you can learn anything you need to learn; to accomplish any goal that you have set for yourself. This means there are no limits on what you can be, have or do.”
Like Us - https://www.facebook.com/FellowBuddycom
This document provides an overview of object-oriented programming (OOP) and C++. It discusses key concepts in OOP like classes, objects, inheritance, polymorphism and encapsulation. It then covers the history and development of OOP languages, with Simula 67 being an early language. C++ is presented as building on C with object-oriented features. The document defines common C++ elements like data types, operators, streams and functions. It provides examples of C++ programs and concepts like structures, call by reference, and function overloading.
The document discusses object-oriented programming and several key concepts:
1) OOP organizes programs around objects and well-defined interfaces rather than procedural code. This improves modularity and reuse.
2) Objects encapsulate both data (attributes) and behaviors (methods) and communicate via messages. This mimics the real world.
3) Distributed object systems allow objects to communicate across a network. Paradigms like remote method invocation, object request brokers, and object spaces define how this is implemented.
This document discusses object-oriented programming (OOP) and compares it to procedural programming. It covers:
1. OOP was developed to overcome limitations of procedural programming like difficulties modeling real-world problems and reusing code.
2. Key aspects of OOP include treating data as critical elements, decomposing problems into objects that encapsulate data and functions, and hiding data to prevent accidental modification.
3. OOP models real-world entities as objects that have attributes (data) and behaviors (functions), while procedural programming focuses more on functions than data.
The document provides information about the CSE202 Object Oriented Programming course. It details the course structure including topics covered, textbooks, outcomes, assessment criteria, and scheduling of tests and assignments. It also answers some common questions about C++ and compares procedural and object-oriented programming approaches. Key concepts taught in OOP like classes, objects, encapsulation, inheritance, and polymorphism are explained. Popular applications built using C++ are also listed.
This document compares procedure-oriented programming and object-oriented programming. Procedure-oriented programming divides programs into smaller subprograms called functions that can access shared global data, while object-oriented programming divides programs into objects that encapsulate both data and functions together and protect data from access by external functions. The document also discusses key object-oriented programming concepts like classes, encapsulation, inheritance, polymorphism, and messaging that provide benefits like code reuse and easier management of complex software projects.
M.c.a (sem iii) paper - i - object oriented programmingरवींद्र वैद्य
This document outlines the syllabus for an Object Oriented Programming in C++ course. The syllabus covers 12 topics including introduction to OOP concepts, C++ basics, functions, objects and classes, arrays, operator overloading, inheritance, pointers, virtual functions, streams and files, templates and exceptions, and the Standard Template Library. It also describes assignments and projects students will complete to practice and demonstrate their understanding of C++ concepts.
C++ is an enhanced version of the C language. C++ includes everything that is part of C language and adds support for object oriented programming (OOP). With very few, very major exceptions, C++ is a superset of C
Forestry Model Exit Exam_2025_Wollega University, Gimbi Campus.pdfChalaKelbessa
This is Forestry Exit Exam Model for 2025 from Department of Forestry at Wollega University, Gimbi Campus.
The exam contains forestry courses such as Dendrology, Forest Seed and Nursery Establishment, Plantation Establishment and Management, Silviculture, Forest Mensuration, Forest Biometry, Agroforestry, Biodiversity Conservation, Forest Business, Forest Fore, Forest Protection, Forest Management, Wood Processing and others that are related to Forestry.
Oop lec 2(introduction to object oriented technology)Asfand Hassan
The document discusses high-level and low-level programming languages. It explains that high-level languages resemble human languages but must be translated into machine language that CPUs can understand using compilers. Low-level languages like assembly language are closer to machine language. The document also introduces object-oriented programming characteristics like encapsulation, inheritance and polymorphism. It provides examples of classes and objects in C++ and describes relationships between objects like attributes, associations and aggregations.
This document provides an overview of object-oriented programming (OOP) using C++. It defines key OOP concepts like classes, objects, abstraction, encapsulation, inheritance, and polymorphism. It notes that OOP improves software development productivity and maintainability by making code modular and reusable. OOP also allows for faster development and lower costs due to code reuse. However, OOP has disadvantages like a steep learning curve and producing slower programs in some cases. The document provides examples of where OOP is commonly applied, such as user interfaces, real-time systems, and artificial intelligence.
DOC-20210303-WA0017..pptx,coding stuff in cfloraaluoch3
This document provides an overview of procedural programming and object-oriented programming concepts. It discusses modular programming in C language and compilers used for C/C++. It then covers the software crisis and evolution, procedural programming paradigm, and introduction to object-oriented approach. Key characteristics of OOP like classes, objects, encapsulation, inheritance and polymorphism are explained. Benefits of OOP like code reusability and improved reliability are highlighted. Popular OOP languages like Java, C++, and Python are listed with examples of applications like real-time systems and databases.
This document outlines the aims, design, objectives, and units of a Visual C++ programming course. The aims are to review object-oriented design and impart skills in developing VC++ applications using fundamental C++ features like classes, objects, inheritance, and encapsulation. The course is divided into units that cover developing applications using the VC++ IDE, object-oriented programming concepts, and Visual C++ basics like data types, expressions, and control structures. Key concepts like classes, objects, inheritance, polymorphism, encapsulation, and abstraction are defined. The document provides details on theory and practical lessons for each unit.
C++ [ principles of object oriented programming ]Rome468
C++ is an enhanced version of C that adds support for object-oriented programming. It includes everything in C and allows for defining classes and objects. Classes allow grouping of related data and functions, and objects are instances of classes. Key concepts of OOP supported in C++ include encapsulation, inheritance, and polymorphism. Encapsulation binds data and functions together in a class and allows hiding implementation details. Inheritance allows defining new classes based on existing classes to reuse their functionality. Polymorphism enables different classes to have similarly named functions that demonstrate different behavior.
The document outlines an Object Oriented Programming course. The course objectives are to understand basic programming constructs, object-oriented principles using C++, and problem solving techniques. The course contents cover C++ programming basics, structures, functions, objects, classes, inheritance and more. Lectures will be interactive, include quizzes, and students will work on individual lab assignments and projects. Grading will include labs, quizzes, midterms and finals.
The document discusses object-oriented programming and C++. It begins with an introduction to OOP compared to procedural programming. Key concepts of OOP like classes, objects, inheritance and polymorphism are explained. The document then discusses C++ programming, including the structure of C++ programs, basic input/output functions, data types in C++, variables and constants. Pointers in C++ and how computer memory works with pointers are also summarized.
This document provides an introduction to object-oriented programming (OOP). It discusses the differences between procedural programming and OOP, defining OOP as a methodology that associates data structures with operators. The core concepts of OOP are defined as objects, classes, encapsulation, inheritance, polymorphism, and message passing. Objects are instances of classes that package both data and methods. Encapsulation binds data and methods within an object, while inheritance allows classes to acquire properties from other classes in a hierarchy. Polymorphism enables different implementations through message passing between objects.
This document provides an overview of object-oriented programming (OOP) concepts, including:
- It compares procedural programming (POP) and OOP, noting that OOP was developed to overcome limitations of POP like reusability and maintainability.
- In OOP, a program is divided into objects that contain both data and functions, whereas in POP programs are divided into smaller programs called functions.
- The document outlines some key differences between POP and OOP, such as OOP emphasizing data over procedures and using access specifiers and bottom-up design.
The document discusses object-oriented programming and how it relates to assembling a computer system from components. It states that object-oriented programming works similarly by making a program up of different self-contained objects that can communicate with each other in predefined ways, just like computer components fit together and communicate. It then provides a problem statement for building an order management system and outlines the contents to be covered related to basic C++ concepts.
FellowBuddy.com is an innovative platform that brings students together to share notes, exam papers, study guides, project reports and presentation for upcoming exams.
We connect Students who have an understanding of course material with Students who need help.
Benefits:-
# Students can catch up on notes they missed because of an absence.
# Underachievers can find peer developed notes that break down lecture and study material in a way that they can understand
# Students can earn better grades, save time and study effectively
Our Vision & Mission – Simplifying Students Life
Our Belief – “The great breakthrough in your life comes when you realize it, that you can learn anything you need to learn; to accomplish any goal that you have set for yourself. This means there are no limits on what you can be, have or do.”
Like Us - https://www.facebook.com/FellowBuddycom
This document provides an overview of object-oriented programming (OOP) and C++. It discusses key concepts in OOP like classes, objects, inheritance, polymorphism and encapsulation. It then covers the history and development of OOP languages, with Simula 67 being an early language. C++ is presented as building on C with object-oriented features. The document defines common C++ elements like data types, operators, streams and functions. It provides examples of C++ programs and concepts like structures, call by reference, and function overloading.
The document discusses object-oriented programming and several key concepts:
1) OOP organizes programs around objects and well-defined interfaces rather than procedural code. This improves modularity and reuse.
2) Objects encapsulate both data (attributes) and behaviors (methods) and communicate via messages. This mimics the real world.
3) Distributed object systems allow objects to communicate across a network. Paradigms like remote method invocation, object request brokers, and object spaces define how this is implemented.
This document discusses object-oriented programming (OOP) and compares it to procedural programming. It covers:
1. OOP was developed to overcome limitations of procedural programming like difficulties modeling real-world problems and reusing code.
2. Key aspects of OOP include treating data as critical elements, decomposing problems into objects that encapsulate data and functions, and hiding data to prevent accidental modification.
3. OOP models real-world entities as objects that have attributes (data) and behaviors (functions), while procedural programming focuses more on functions than data.
The document provides information about the CSE202 Object Oriented Programming course. It details the course structure including topics covered, textbooks, outcomes, assessment criteria, and scheduling of tests and assignments. It also answers some common questions about C++ and compares procedural and object-oriented programming approaches. Key concepts taught in OOP like classes, objects, encapsulation, inheritance, and polymorphism are explained. Popular applications built using C++ are also listed.
This document compares procedure-oriented programming and object-oriented programming. Procedure-oriented programming divides programs into smaller subprograms called functions that can access shared global data, while object-oriented programming divides programs into objects that encapsulate both data and functions together and protect data from access by external functions. The document also discusses key object-oriented programming concepts like classes, encapsulation, inheritance, polymorphism, and messaging that provide benefits like code reuse and easier management of complex software projects.
M.c.a (sem iii) paper - i - object oriented programmingरवींद्र वैद्य
This document outlines the syllabus for an Object Oriented Programming in C++ course. The syllabus covers 12 topics including introduction to OOP concepts, C++ basics, functions, objects and classes, arrays, operator overloading, inheritance, pointers, virtual functions, streams and files, templates and exceptions, and the Standard Template Library. It also describes assignments and projects students will complete to practice and demonstrate their understanding of C++ concepts.
C++ is an enhanced version of the C language. C++ includes everything that is part of C language and adds support for object oriented programming (OOP). With very few, very major exceptions, C++ is a superset of C
Forestry Model Exit Exam_2025_Wollega University, Gimbi Campus.pdfChalaKelbessa
This is Forestry Exit Exam Model for 2025 from Department of Forestry at Wollega University, Gimbi Campus.
The exam contains forestry courses such as Dendrology, Forest Seed and Nursery Establishment, Plantation Establishment and Management, Silviculture, Forest Mensuration, Forest Biometry, Agroforestry, Biodiversity Conservation, Forest Business, Forest Fore, Forest Protection, Forest Management, Wood Processing and others that are related to Forestry.
Pests of Rice: Damage, Identification, Life history, and Management.pptxArshad Shaikh
Rice pests can significantly impact crop yield and quality. Major pests include the brown plant hopper (Nilaparvata lugens), which transmits viruses like rice ragged stunt and grassy stunt; the yellow stem borer (Scirpophaga incertulas), whose larvae bore into stems causing deadhearts and whiteheads; and leaf folders (Cnaphalocrocis medinalis), which feed on leaves reducing photosynthetic area. Other pests include rice weevils (Sitophilus oryzae) and gall midges (Orseolia oryzae). Effective management strategies are crucial to minimize losses.
A short update and next week. I am writing both Session 9 and Orientation S1.
As a Guest Student,
You are now upgraded to Grad Level.
See Uploads for “Student Checkin” & “S8”. Thx.
Thank you for attending our workshops.
If you are new, do welcome.
Grad Students: I am planning a Reiki-Yoga Master Course (As a package). I’m Fusing both together.
This will include the foundation of each practice. Our Free Workshops can be used with any Reiki Yoga training package. Traditional Reiki does host rules and ethics. Its silent and within the JP Culture/Area/Training/Word of Mouth. It allows remote healing but there’s limits As practitioners and masters. We are not allowed to share certain secrets/tools. Some content is designed only for “Masters”. Some yoga are similar like the Kriya Yoga-Church (Vowed Lessons). We will review both Reiki and Yoga (Master tools) in the Course upcoming.
Session Practice, For Reference:
Before starting a session, Make sure to check your environment. Nothing stressful. Later, You can decorate a space as well.
Check the comfort level, any needed resources (Yoga/Reiki/Spa Props), or Meditation Asst?
Props can be oils, sage, incense, candles, crystals, pillows, blankets, yoga mat, any theme applies.
Select your comfort Pose. This can be standing, sitting, laying down, or a combination.
Monitor your breath. You can add exercises.
Add any mantras or affirmations. This does aid mind and spirit. It helps you to focus.
Also you can set intentions using a candle.
The Yoga-key is balancing mind, body, and spirit.
Finally, The Duration can be long or short.
Its a good session base for any style.
Next Week’s Focus:
A continuation of Intuition Development. We will review the Chakra System - Our temple. A misguided, misused situation lol. This will also serve Attunement later.
For Sponsor,
General updates,
& Donations:
Please visit:
https://ldmchapels.weebly.com
HOW YOU DOIN'?
Cool, cool, cool...
Because that's what she said after THE QUIZ CLUB OF PSGCAS' TV SHOW quiz.
Grab your popcorn and be seated.
QM: THARUN S A
BCom Accounting and Finance (2023-26)
THE QUIZ CLUB OF PSGCAS.
Different pricelists for different shops in odoo Point of Sale in Odoo 17Celine George
Price lists are a useful tool for managing the costs of your goods and services. This can assist you in working with other businesses effectively and maximizing your revenues. Additionally, you can provide your customers discounts by using price lists.
Available for Weekend June 6th. Uploaded Wed Evening June 4th.
Topics are unlimited and done weekly. Make sure to catch mini updates as well. TY for being here. More upcoming this summer.
A 8th FREE WORKSHOP
Reiki - Yoga
“Intuition” (Part 1)
For Personal/Professional Inner Tuning in. Also useful for future Reiki Training prerequisites. The Attunement Process. It’s all about turning on your healing skills. See More inside.
Your Attendance is valued.
Any Reiki Masters are Welcomed
More About:
The ‘Attunement’ Process.
It’s all about turning on your healing skills. Skills do vary as well. Usually our skills are Universal. They can serve reiki and any relatable Branches of Wellness.
(Remote is popular.)
Now for Intuition. It’s silent by design. We can train our intuition to be bold or louder. Intuition is instinct and the Senses. Coded in our Workshops too.
Intuition can include Psychic Science, Metaphysics, & Spiritual Practices to aid anything. It takes confidence and faith, in oneself.
Thank you for attending our workshops.
If you are new, do welcome.
Grad Students: I am planning a Reiki-Yoga Master Course. I’m Fusing both together.
This will include the foundation of each practice. Both are challenging independently. The Free Workshops do matter. They can also be downloaded or Re-Read for review.
My Reiki-Yoga Level 1, will be updated Soon/for Summer. The cost will be affordable.
As a Guest Student,
You are now upgraded to Grad Level.
See, LDMMIA Uploads for “Student Checkin”
Again, Do Welcome or Welcome Back.
I would like to focus on the next level. More advanced topics for practical, daily, regular Reiki Practice. This can be both personal or Professional use.
Our Focus will be using our Intuition. It’s good to master our inner voice/wisdom/inner being. Our era is shifting dramatically. As our Astral/Matrix/Lower Realms are crashing; They are out of date vs 5D Life.
We will catch trickster
energies detouring us.
(See Presentation for all sections, THX AGAIN.)
"Hymenoptera: A Diverse and Fascinating Order".pptxArshad Shaikh
Hymenoptera is a diverse order of insects that includes bees, wasps, ants, and sawflies. Characterized by their narrow waists and often social behavior, Hymenoptera play crucial roles in ecosystems as pollinators, predators, and decomposers, with many species exhibiting complex social structures and communication systems.
Smart Borrowing: Everything You Need to Know About Short Term Loans in Indiafincrifcontent
Short term loans in India are becoming a go-to financial solution for individuals needing quick access to funds without long-term commitments. With fast approval, minimal documentation, and flexible tenures, these loans are ideal for handling emergencies, unexpected bills, or short-term goals. Understanding key aspects like short term loan features, eligibility, required documentation, and how to apply for a short term loan can help borrowers make informed decisions. Whether you're salaried or self-employed, short term loans offer convenience and speed. This guide walks you through the essentials so you can secure the right loan at the right time.
Diptera: The Two-Winged Wonders, The Fly Squad: Order Diptera.pptxArshad Shaikh
Diptera, commonly known as flies, is a large and diverse order of insects that includes mosquitoes, midges, gnats, and horseflies. Characterized by a single pair of wings (hindwings are modified into balancing organs called halteres), Diptera are found in almost every environment and play important roles in ecosystems as pollinators, decomposers, and food sources. Some species, however, are significant pests and disease vectors, transmitting diseases like malaria, dengue, and Zika virus.
Adam Grant: Transforming Work Culture Through Organizational PsychologyPrachi Shah
This presentation explores the groundbreaking work of Adam Grant, renowned organizational psychologist and bestselling author. It highlights his key theories on giving, motivation, leadership, and workplace dynamics that have revolutionized how organizations think about productivity, collaboration, and employee well-being. Ideal for students, HR professionals, and leadership enthusiasts, this deck includes insights from his major works like Give and Take, Originals, and Think Again, along with interactive elements for enhanced engagement.
*Order Hemiptera:*
Hemiptera, commonly known as true bugs, is a large and diverse order of insects that includes cicadas, aphids, leafhoppers, and shield bugs. Characterized by their piercing-sucking mouthparts, Hemiptera feed on plant sap, other insects, or small animals. Many species are significant pests, while others are beneficial predators.
*Order Neuroptera:*
Neuroptera, also known as net-winged insects, is an order of insects that includes lacewings, antlions, and owlflies. Characterized by their delicate, net-like wing venation and large, often prominent eyes, Neuroptera are predators that feed on other insects, playing an important role in biological control. Many species have aquatic larvae, adding to their ecological diversity.
2. Introduction
Objectives:
• To introduce Object-Oriented Programming
(oop) and Generic Programming
• To show how to use these programming
scheme with the C++ programming language
to build “ good” programs
Need for good programming method:
Problems:
• Software projects cost are going up and
hardware costs are going down
3. • Software development time is getting longer
and maintenance cost are getting higher
• Software errors are getting more frequent as
hardware errors become almost non-existent
• Too many project have serous failures(Budget,
time, errors)
4. Why Object Technology?
Expectation are:
• Reducing the effort, complexity and cost of
dev’t and maintenance of software systems
• Reducing the time to adapt an existing system
(quicker reaction to changes in the business
environment). Flexibility, reusability.
• Increasing the reliability of the system
5. Why C++:
• C++ supports writing high quality programs
(support object orientation)
• C++ is used by hundred of thousands of
programmers in every application domain
- this use is supported by hundreds of
libraries,
- hundreds of textbooks, several technical
journals, many conferences.
6. • Application domain:
- system programming : operating systems,
devices drivers. Here direct manipulation of
hardware under real-time constraints are
important.
- banking , trading , insurance: maintainability,
ease of extension, ease of testing and
reliability are important.
- Graphics and user interface programs
- Computer Communication programs
7. What is programming ?
• Like any human language, a programming
language provides a way to express concepts
• Program development involves creating models
of real world situations and building computer
programs based on these modules
• Computer programs describes the methods of
implementing the model
• Computer programs may contain computer
world representations of the things that
constitute the solutions of real world problems
8. Abstraction
modeling
REAL WORLD
PROGRAMMER COMPUTER
If successful , the object oriented way will be significantly
easier, more flexible, and efficient than the alternatives
as problems grow larger and more complex
Problem
space
implementation
Solution
space
Programming
languages
9. Learning programming language
Like human language, programming language
also have syntax and grammar rules.
Knowledge about programmer rules of a
programming language is not enough to write
“good” programs
The most important thing to do when learning
programming is to focus on concept but not get
lost in language –technical details
Design techniques are far more important than
an understanding of details; that understanding
comes with time and practice.
10. • Before the rules of the programming
language, the programming scheme must be
understood.
• Your purpose in learning c++ must not be
simply to learn a new syntax for doing things
the way you used to, but to learn new and
better ways of building systems.
• Use compilers which support the latest c++
standard ,ISO/IEC14882(1998)
11. Quality matrix of a Software
A program must do its job correctly. It must be useful
and usable
A program must perform as fast as necessary(Real-
time constraints)
A program must not waste system
resources(processor time, memory ,disk capacity ,
network capacity)too much
It must be reliable
It must be easy to update the program
A good software must have sufficient documentation
(user manual) ……. user
Source code must be readable and understandable
It must be easy to maintain and update(change) the
program according to new requirement
12. cont
An error must not affect other parts of a program(locality
of errors)
Modules of the program must be reusable in further
projects
A software project must be finished before its deadline
A good software must have sufficient documentation
(about development)
software developer
Object oriented programming technique enable s
programmer to build high quality programs. While
designing and coding a program these quality metric must
be kept always in mind
13. • Software Development process
C++
Task/Problem
Analysis/planning
Design/modeling
implementation
Test
Documentation
Product
14. • Problem/task identifications.
• Analysis: Gaining a clear understanding of the
problem. Understanding requirements. They may
change during (or after) development of the system!
Building the programming team
• Design: identifying the key concepts involved in a
solution. Models of the key concepts are created.
this stage has a strong effect on the quality of the
software. Therefore, before the coding, verification
of the created model must be done.
design process is connected with the programming
scheme.. Here our design style is object -oriented
15. • Coding: the solution(model)is expressed in a program.
Coding is connected with the programming language . In
this course we will use c++
• Documentation: each phase of a software project must
be clearly explained. A user manual should be also
written.
• Testing: At the end , the behavior of the program for
possible inputs must be examined
they are important design principles and design patterns,
which helps us developing high-quality software. The
unified Modeling Language(UML)
16. is useful to express the model.
The Unified(software Development) Process –Up
A software development process describes an
approach to building, deploying and possibly
maintaining software.
The unified process is a popular iterative software
development process for building object- oriented
systems. It promotes several best practices.
• Iterative : development is organized into a series of
short, fixed-length(for e.g. three -weeks)
17. • Mini- projects called iterations ; the outcome
of each is a requirement analysis, design,
implementation, and testing activities
• Incremental, evolutionary
• Risk-driven
19. Procedural programming Technique
• Pascal , C, BASIC, Fortran, and similar traditional
programming languages are procedural languages.
That is , each statement in the language tells the
computer to do something
• In a procedural language, the emphasis is on doing
things(function).
• A program is divided into functions and –ideally, at
least-each function has a clearly defined purpose and
a clearly defined interface to the other functions in
the program
21. Problems with procedural
programming
• Data is undervalued
• Data is , after all, the reason for a program’s
existence. The important part of a program about a
school for example, are not functions that display the
data or functions that checks for correct input; they
are student, teacher data.
• Procedural programs( functions and data structures)
don’t model the real world very well. The real world
does not consist of functions
• Global data can be corrupted by functions that have
no business changing it
22. Cont..
• To add new data items, all the functions that
access the data must be modified so that they
can also access these new items.
• Creating new data types is difficult.
• It is also possible to write good programs by
using procedural programming(C programs). But
object- oriented programming offers
programmers many advantages, to enable them
to write high-quality programs
23. The Object Oriented Approach
The fundamental idea behind object oriented
programming is:
• The real world consist of objects. Computer
programs may contain computer world
representations of the things (objects) that
constitute the solutions of real world problems
• Real world object have two parts:
1.Attributes (property or state: characteristics that can
change)
2. Behavior (or abilities: things they can do, or
responsibilities)
24. to solve a programming problem in an object-oriented
language , the programmer no longer asks how the
problem will be divided into functions , but how it
will be divided into objects.
the emphasis is on data.
What kinds of things become objects in object-oriented
programs?
• Human entities: Employees, customers, sales people,
worker, manager
• Graphics program: point, line, square, circle…
• Mathematics: Complex numbers, matrix
26. The Object- Oriented Approach cont..
Thinking interms of objects rather than functions has a
helpful effect on design process of programs. This
results from the close match between objects in the
programming sense and objects in the real world.
To create software models of real world objects
both data and the functions that operate on
that data are combined into a single program
entity. Data represent the attributes (state) ,
and functions represent the behavior of an
object. Data and its function are said to be
encapsulated into a single entity
27. An object’s functions, called member functions
in c++ typically provide the only way to access
its data. The data is hidden , so it is safe from
accidental alteration
Encapsulation and data hiding are key terms in
the description of object- oriented language
If you want to modify the data in an object, you
know exactly what functions interact with it:
the member functions in the object. No other
functions can access the data. This simplifies
writing, debugging and maintaining the
program
28. Example for an object: a point in a graphics program
A point on a plane has two attributes; x-y coordinates.
Abilities (behavior, responsibilities) of a point are,
moving on the plane, appearing on the screen and
disappearing.
We can create a module for 2 dimensional points with
the following parts:
Two integer variables (x, y ) to represent x and y
coordinates
A function to move the point: move
A function to print the point on the screen: print
A function to hide the point: hide
29. Once the module has been built and tested, it is
possible to create many objects of this model,
in main program.
point point1, point2 , point3 ;
.
.
Point1.move(50,30);
Point1.print();
30. The model of an Object
A c++ program typically consists of a number
of objects that communicate with each other by calling
one another’s member functions.
y
x print
hide
move
Data (attributes)
Functions (abilities, behavior,
responsibilities)
31. Structure of an object – oriented
program:
message
message
message
message
message
Main program
Objects
32. Procedural Programming vs OO
Approach
Procedural programming:
• Procedural languages still requires one to think in terms of
the structure of the computer rather than the structure of
the problem you are trying to solve.
• The programmer must establish the association between
the machine model and the model of the problem that is
actually being solved.
• The effort required to perform this mapping produces
programs that are difficult to write and expensive to
maintain. Because the real world thing and their models on
the computer are quite different.
33. Con’d
• Example: real world thing : student
• Computer model: char *, int, float,…
it is said that the C language is closer to the computer
than the problem
Object – Oriented Programming;
• The object – oriented approach provides tools for the
programmer to represent elements in the problem
space.
• We refer to the elements in the problem space and
their representations in the solution space as
“objects”
34. • The idea is that the program is allowed to adapt itself to
the problem by adding new types of objects ., so when
you read the code describing the solution, you are reading
words that also express the problem.
• OOP allows you to describe the problem in terms of the
problem, rather than in terms of the computer where the
solution will run
• Benefits of the oop:
- readability
- understandability
- low probability of errors
- maintenance
-reusability , …. teamwork
35. C++: As a better c
• C++ was devloped from the C programmming
language. By adding some features to it . These
features can be collected in three groups:
1. Non-object-oriented features .which can be
used in coding phase. These are not involved
with the programing technique.
2. Features which suport object-oriented
programming
35
36. 3. features which support generic
programming. With minor exceptions. C++ is a
superset of c.
C++
Non object-oriented
extensions
Object-oriented
extensions
Generic programming
extension
C
Minor exceptions: C
code that is not C++
37. C++’s Enhancement to C(Non-
object-oriented)
• Caution: the better one knows c, the harder it
seems to be to avoid writing c++ in c style,
thereby losing some of the potential benefits
of c++ .
1. always keep object-oriented and generic
programming techniques in mind.
2. always use c++ style coding technique
which has many advantages over c style. On
object-oreinted features of a c++ compiler
can be also in writing procedural programs
38. single line comments:
C++ allows you to begin a comment with // and
use the remainder of the line for comment
text.
a + b = c; // this is a comment
declarations and definitions in c++
Remember; there is a difference between a
declaration and a definition.
39. declaration introduces a name – an identifier-
to the compile. It tells the compiler “ this
function or this variable exists somewhere,
and here is what it should look like.
A definition, says.” make this variable here” or
“ make this function here” it allocates storage
for the name.
40. example;
Extern int i; // declaration
Int i; // definition
Struct complexT{ // declaration
float re,im;
};
complexTc1,c2; //definition
Void fuuc(int,int); //declaration (its body is a
definition
41. • In c, declarations and definitions must occur at
the beginning of a block.
• In c++ declarations and definitions can be placed
any where an executable statement can appear,
except that they must appear prior to the point
at which they are first used. This improves the
readability of the program.
• A variable lives only in the block, in which it was
defined. This is the scope of this variable
42. int a = 0;
for (inti=0;i<100;i++){ // I is dfined at the
beginning of the for
loop
a++;
int p=12; // definition of p
…… // scope of p
} // end of scope for I and p
43. • Scope Operator (::)
a definition in a block (local name) can hide a
definition in an enclosing block or a global
name. it is possible to use a hidden global
name by using the scope resolution operator::
int y=o; //Global y
intx =1; // Global x
void f(){ // Function is a new block
44. intx=5; // Local x=5, it hide global x
:: x++; // Global x=2
X++; //Local x=6
y++; // Global y =1,scope operator is
not necessary
}
Caution: it is not recommended to give identical
names to global and local data, if it is not
mandatory.
45. • Like in c . In C++ the same operator may have
more than one meaning. The scope operator
has also many different tasks, which are
presented in the next chapters.
46. Namespaces
When a program reaches a certain size it’s
typically broken up into pieces, each of which is
built and maintained by a different person or
group.
Since c effectively has a single arena where all
the identifier and function names lives, this
means that all the developers must be careful
not to accidentally use the same names in
situations where they can conflict.
47. the same problem comes out if a programmer
try to use the same names as the names of
library functions.
Standard c++ has a mechanism to prevent this
collision: the namespace keyword.
Each set of C++ definitions in a library or
programs is “ wrapped” in a namespace, and if
some other definition has an identical name,
but is in a different namespace, then there is
no collision.
48. example: namespace programmer1{
//programmer1’s namespace
int iflag; // programmer1’s iflag
void g(int); // programmer1’s g function
: // other variables
} // end of namespace
namespace programmer2{ // programmer2’s
namespace
int iflag; //programmer2’s iflag
:
} // end of namespace
49. Accessing the variable:
Programmer1::iflag =3; // programmer1’s iflag
Programmer2::iflag = -345; // programmer2’s
iflag
Programmer1::g(6); // programmer1’s g
function
If a variable or function does not belong to any
namespace, then it is defined in the global
namespace. It can be accessed without a
namespace name and scope operator.
50. • Using declaration:
This declaration makes it easier to access variable and
functions ,which are defined in a namespace
Using programmer1::flag; // apples to a single
item in the namespace
Iflag =3; //programmer1::iflag=3
Programmer2::iflag = -345;
Programmer1::g(6);
OR
51. Using namespace programmer1; //applies to all elements in
the namespace
Iflag = 3 ; // proggrammer1:: flag = 3;
g(6); //programmer1’s function g
Programmer2::flag = -345;