Friend Function - Part 1

Duration: 37 min

This video lesson is available to enrolled students.

Return to /learn/MP-SET-COMPUTER-SCIENCE/unit-3-programming-languages-and-computer-graphics/oops-with-c/friend-function/asset-friend-function-part-1 after enrolling

Inside: a video lesson and guided study material.

Module outline

  1. Paper - 1 | Unit - 1 | Teaching Aptitude: Concept and Objectives of Teaching / शिक्षण की अवधारणा एवं उद्देश्य, Levels of Teaching / शिक्षण के स्तर, Learner's Characteristics / शिक्षार्थी की विशेषताएँ, Learning: Nature and Theories / अधिगम: प्रकृति एवं सिद्धांत, Cognition, Memory and Metacognition / संज्ञान, स्मृति एवं अधिसंज्ञान, Factors Affecting Teaching / शिक्षण को प्रभावित करने वाले कारक, Effective Teaching and the Teacher / प्रभावी शिक्षण एवं शिक्षक, Instructional Objectives and Lesson Planning / अनुदेशनात्मक उद्देश्य एवं पाठ नियोजन, Methods of Teaching / शिक्षण विधियाँ, Offline and Online Teaching Methods / ऑफ़लाइन एवं ऑनलाइन शिक्षण विधियाँ, Teaching Support System / शिक्षण सहायक प्रणाली, Evaluation Systems / मूल्यांकन प्रणाली, Biological Basis of Emotion / संवेग का जैविक आधार, Central and Peripheral Nervous Systems / केन्द्रीय और परिधीय तंत्रिका तंत्र
  2. Paper - 1 | Unit - 2 | Research Aptitude: Research: Meaning, Features and Scientific Method / अनुसंधान: अर्थ, लक्षण व वैज्ञानिक विधि, Research Paradigms and Approaches / अनुसंधान के प्रतिमान एवं उपागम, Types of Research / अनुसंधान के प्रकार, Variables and Measurement / चर एवं मापन, Methods of Research / अनुसंधान की विधियाँ, Steps of Research / अनुसंधान के चरण, Sampling / प्रतिचयन, Tools and Methods of Data Collection / आँकड़ा संग्रह के उपकरण एवं विधियाँ, Data Analysis and Statistics in Research / आँकड़ा विश्लेषण एवं शोध सांख्यिकी, Thesis and Article Writing / शोध-प्रबंध एवं लेख लेखन, Application of ICT in Research / अनुसंधान में ICT का अनुप्रयोग, Research Ethics / शोध नैतिकता
  3. Paper - 1 | Unit - 3 | Comprehension: Literal Comprehension, Vocabulary and Language in Context, Inferential Comprehension, Critical Comprehension, Comprehension / Reading Comprehension / Unseen Passages (Critical Reasoning) (Paragraph Questions)
  4. Paper - 1 | Unit - 4 | Communication: Communication: Meaning, Nature and Process / संचार: अर्थ, प्रकृति एवं प्रक्रिया, Types and Levels of Communication / संचार के प्रकार एवं स्तर, Verbal and Non-verbal Communication / मौखिक एवं अमौखिक संचार, Semiotics and Meaning / संकेत विज्ञान एवं अर्थ, Models and Theories of Communication / संचार के मॉडल एवं सिद्धांत, Effective Communication / प्रभावी संचार, Barriers to Communication / संचार की बाधाएँ, Classroom Communication / कक्षा संचार, Mass Media: Types and Evolution / जनसंचार माध्यम: प्रकार एवं विकास, Mass Media and Society / जनसंचार एवं समाज, Digital and New Media / डिजिटल एवं नव माध्यम, General Awareness (Legacy Paper 1) / सामान्य जागरूकता (पुराना पेपर 1)
  5. Paper - 1 | Unit - 5 | Mathematical Reasoning and Aptitude: Number System and Simplification / संख्या पद्धति एवं सरलीकरण, Algebra and Ages / बीजगणित एवं आयु, Percentage / प्रतिशतता, Ratio, Proportion, Partnership and Mixtures / अनुपात, समानुपात, साझेदारी एवं मिश्रण, Averages / औसत, Profit, Loss and Discount / लाभ, हानि एवं बट्टा, Simple and Compound Interest / साधारण एवं चक्रवृद्धि ब्याज, Time and Work / समय एवं कार्य, Speed, Time and Distance / चाल, समय एवं दूरी, Mensuration and Geometry / क्षेत्रमिति एवं ज्यामिति, Series / श्रेणी, Coding-Decoding / कूटलेखन-कूटवाचन, Relationships, Directions and Ranking / संबंध, दिशा एवं क्रम, Arrangements, Puzzles, Clock and Calendar / व्यवस्था, पहेलियाँ, घड़ी एवं कैलेंडर, Mathematical Foundations, जीवनी, Philosophy of the Constitution / संविधान का दर्शन, Analysis, Indian Polity and Governance (Legacy Unit 10) / भारतीय राजव्यवस्था और शासन (पुराना यूनिट 10)
  6. Paper - 1 | Unit - 6 | Logical Reasoning: Structure of Arguments / युक्ति की संरचना, Terms, Definitions and Uses of Language / पद, परिभाषा एवं भाषा के उपयोग, Categorical Propositions / निरुपाधिक प्रतिज्ञप्तियाँ, Categorical Syllogism / निरुपाधिक न्यायवाक्य, Venn Diagrams / वेन आरेख, Deduction, Induction and Analogy / निगमन, आगमन एवं सादृश्यता, Fallacies / तर्कदोष, Indian Logic: Pramanas / भारतीय तर्कशास्त्र: प्रमाण, Anumana and Vyapti / अनुमान एवं व्याप्ति, Hetvabhasa / हेत्वाभास, Non Verbal Reasoning (Spatial Aptitude) (Spatial Reasoning) (Visual Reasoning), Aristotle / अरस्तू, Western Schools of Philosophy / पाश्चात्य दर्शन की विचारधाराएँ, Kant / कांट, Sadhana Paada, Vaiśeṣika / वैशेषिक
  7. Paper - 1 | Unit - 7 | Data Interpretation: Data and Graphical Representation / आँकड़े एवं आलेखीय निरूपण, Data Interpretation: Tables / आँकड़ा निर्वचन: तालिका
  8. Paper - 1 | Unit - 8 | Information and Communication Technology: Computer Fundamentals and Hardware, Memory, Storage and Data Representation, Computer Software, Office Applications, Multimedia and File Formats, Computer Networks, Internet and World Wide Web, Email and Online Communication, Cyber Security, Digital Ethics, IPR and Society, Cloud and Distributed Computing, Emerging Technologies, ICT in Education and Governance, Cyber Threats and Malware Attacks, Role of Internet and Web Services, Electronic Data Interchange and E-Commerce, Internet Fundamentals, Web Design & Development, Web Publishing & Hosting, Emerging Technologies, Terms & Abbreviations, Society, Law & Ethics, Keyboard Shortcuts, Website, Browser & Services, Protection of Geographical Indications / भौगोलिक संकेतों का संरक्षण
  9. Paper - 1 | Unit - 9 | People Development and Environment: Ecosystems and Biodiversity / पारितंत्र और जैव विविधता, Human and Environment Interaction / मानव और पर्यावरण की अंतःक्रिया, Development and Environment / विकास और पर्यावरण, Natural Resources – Forests, Water and Soil / प्राकृतिक संसाधन: वन, जल और मृदा, Energy Resources / ऊर्जा संसाधन, Air Pollution / वायु प्रदूषण, Water Pollution and Treatment / जल प्रदूषण और उपचार, Noise Pollution / ध्वनि प्रदूषण, Waste Management / अपशिष्ट प्रबंधन, Environmental Health and Toxicology / पर्यावरणीय स्वास्थ्य और विषविज्ञान, Climate Change and Global Environmental Issues / जलवायु परिवर्तन और वैश्विक पर्यावरणीय समस्याएँ, Natural Hazards and Disaster Management / प्राकृतिक प्रकोप और आपदा प्रबंधन, Indian Environmental Laws and Policies / भारतीय पर्यावरण कानून और नीतियाँ, International Environmental Agreements / अंतर्राष्ट्रीय पर्यावरण समझौते, Environment / पर्यावरण, Geography / भूगोल, Factory and Industry Systems / कारखाना और उद्योग व्यवस्थाएँ, Earth Materials, Surface Features and Processes, Communicable Diseases and Immunization / संक्रामक रोग और प्रतिरक्षण
  10. Paper - 1 | Unit - 10 | Higher Education System: Education in Ancient India / प्राचीन भारत में शिक्षा, Ancient Centres of Higher Learning / प्राचीन भारत के उच्च शिक्षा केंद्र, Colonial Education Policies and Commissions / औपनिवेशिक काल की शिक्षा नीतियाँ और आयोग, Colonial Colleges, Universities and Reformers / औपनिवेशिक कॉलेज, विश्वविद्यालय व सुधारक, Education Commissions and Policies after Independence / स्वतंत्र भारत में शिक्षा आयोग और नीतियाँ, National Education Policy 2020 / राष्ट्रीय शिक्षा नीति 2020, Types of Higher Education Institutions / उच्च शिक्षा संस्थानों के प्रकार, Learning Programmes and Academic Credits / अधिगम कार्यक्रम और अकादमिक क्रेडिट, Professional, Technical and Skill-Based Education / व्यावसायिक, तकनीकी और कौशल आधारित शिक्षा, Value Education and Environmental Education / मूल्य शिक्षा और पर्यावरण शिक्षा, Governance, Administration and Financing / शासन, प्रशासन और वित्तपोषण, Regulation, Accreditation and Ranking / उच्च शिक्षा का नियमन, प्रत्यायन और रैंकिंग
  11. Paper 2 | Unit 1 | Discrete Structures and Optimization: Propositional and Predicate Logic, Set Theory, Relations, Functions, Permutation, Combination and Probability / क्रमचय, संचय एवं प्रायिकता, Graph Theory, Group Theory, Digital Systems & Boolean Basics, Boolean Expression, Boolean Minimization, Optimization, Markov Chains
  12. Paper 2 | Unit 2 | Computer System Architecture: Logic Gates & Hardware, Combinational Circuit, Sequential Circuits, Number System, Number Representation, Floating Point Rep, Basics of COA, Register Transfer and Microoperations, Programming the Basic Computer, Instr Formats & Modes, Control Unit Design, Pipelining, Input Output Organisation, Cache Memory Organization, Multiprocessors
  13. Paper 2 | Unit 3 | Programming Languages and Computer Graphics: Language Design, C Fundamentals, Control Flow, Functions, Arrays & Pointers, Storage Classes, Structures & Enums, DMA, Macros, Scoping & File Handling, HTML Basics, XML, JavaScript-Basics, Java, Basics of Computer Graphics, 2-D Geometrical Transforms and Viewing, 3-D Object Representation, Geometric Transformations and Viewing, OOPS with C++, Java Fundamentals, Array, String, IO & References, OOPS with Java
  14. Paper 2 | Unit 4 | Database Management Systems: Basics of DBMS, ER Diagram, Relational Model & Functional Dependencies, Keys & Integrity Constraints, Normalization (1NF - BCNF), Decomposition Properties & 4NF, File Organization & Indexing, Relational Algebra, SQL, Relational Calculus, Transaction Management, Concurrency Control, Database Recovery, ORDBMS, Database Security & Authorization, Query Processing & Optimization, Enhanced Data Models, Data Warehousing & Mining, Big Data Systems, NoSQL
  15. Paper 2 | Unit 5 | System Software and Operating System: Introduction to OS, Process Management, CPU Scheduling, Process Synchronization, Threads & Process Creation, Deadlock, Memory Management, Virtual Memory, Disc Scheduling, File Management, Windows OS, Linux OS, Security, Distributed Systems, Virtual Machines
  16. Paper 2 | Unit 6 | Software Engineering: Fundamentals of Software Engineering, Software Requirements and Quality Assurance, Software Design, Estimation and Metrics, Software Testing, Software Maintenance and Configuration Management
  17. Paper 2 | Unit 7 | Data Structures and Algorithms: Introduction to DS, Array, Stack, Queue, Linked List, Tree, Graphs, Hashing, Algorithm Analysis, Time Complexity Analysis, Sorting Algorithms, Greedy Algorithms, Dynamic Programming, Minimum Spanning Trees, Shortest Path Algos, Advanced Algorithms
  18. Paper 2 | Unit 8 | Theory of Computation and Compilers: Introduction to TOC, Deterministic FA (DFA), Non-Deterministic FA, Regular Expressions, Grammar, Regular Language Properties, Moore & Mealy Machines, Pushdown Automata & CFG, Turing Machines, Complexity Theory, Intro to Compilers, Lexical Analysis, Grammar & CFG, Syntax Analysis: Top-Down, Syntax Analysis: Bottom-Up, Semantic Analysis & SDT, Intermediate Code Gen, Code Optimization, Run Time Environment
  19. Paper 2 | Unit 9 | Data Communication and Computer Networks: Introduction to CN, Data Communication, DLL: Access Control, DLL: Flow Control, DLL: Error Control, DLL: Framing, Data Link Layer - Ethernet, Net Layer: IPv4 & Proto, Net Layer: IP Addressing, Net Layer:Routing Protocol, Transport Layer Services, TL: Congestion & UDP, Application Layer, Hardware basics, Network Security, Cloud Computing, Mobile Computing
  20. Paper 2 | Unit 10 | Artificial Intelligence: Approaches to AI, Search Algorithms, Game Playing, Knowledge Representation, Planning, Multi Agent Systems, Fuzzy Sets, Natural Language Processing, Artificial Neural Networks, Genetic Algorithms
  21. Full Notes: Paper 1 Full Notes
  22. Paper 1 | Full Mock Tests:
  23. Paper 2 | Full Mock Tests:
  24. Paper 1 | Previous Year Papers:
  25. Paper 2 | Previous Year Papers:
AI summary & chapters

AI Summary

An AI-generated summary of this video lecture.

This lecture introduces the concept of Friend Functions in C++ Object-Oriented Programming, defining them as non-member functions granted access to private and protected members of a class. The instructor explains that while encapsulation restricts direct access, friend functions provide an exception to data hiding rules. The session covers the syntax for declaring a friend function using the keyword 'friend' inside a class definition and lists four categories: simple friend functions, bridge functions between classes, friend classes, and member functions of one class acting as friends to another. The lecture progresses from theoretical definitions to practical code examples, starting with a simple friend function calculating the area of a circle by accessing its private radius member. It then advances to a more complex scenario involving two classes, Circle and Rectangle, where a shared friend function calculates the difference in their areas. The instructor emphasizes the necessity of forward declarations when one class references another within a friend function declaration, demonstrating how to pass objects as arguments to access private data across class boundaries.

Chapters

  1. 0:00 – 2:00 00:00-02:00

    The video begins with an introduction to the topic of Friend Functions within Object-Oriented Programming (OOPS) using C++. The instructor presents a title slide displaying 'OOPS with C++' and 'Friend Function'. He begins writing notes on the slide, specifically focusing on access specifiers like 'Private' and 'Public' associated with a class. The visual progression shows the instructor annotating the slide to explain how friend functions interact with class members, underlining key terms and listing access modifiers such as 'LDM (Private)' and 'LMF (Public)'. The instructor gestures with his hands to emphasize points while maintaining a thinking pose.

  2. 2:00 – 5:00 02:00-05:00

    The instructor introduces the concept of a Friend Function within Object-Oriented Programming in C++. He begins by writing class inheritance notation (Class B inheriting from Class A) to set up a context for accessing private members. The visual focus shifts between the inheritance diagram and the main topic 'Friend Function' to illustrate how access control works. He writes 'Inherit' below the diagram and then crosses it out, suggesting a distinction between inheritance and friend functions. The slide outlines that this mechanism is used when accessing private data from outside the class, bypassing standard encapsulation rules.

  3. 5:00 – 10:00 05:00-10:00

    The video introduces the concept of a 'Friend Function' in C++ Object-Oriented Programming. The instructor explains that a friend function is a non-member function granted access to the private and protected members of a class. The slide outlines that this mechanism is used when accessing private data from outside the class, bypassing standard encapsulation rules. The instructor underlines key phrases like 'non-member function', 'private and protected members', and the syntax for declaration. The slide highlights that the friend keyword is used inside the class to declare this function, which allows access from outside without violating data hiding principles.

  4. 10:00 – 15:00 10:00-15:00

    The instructor explains the syntax and categories of friend functions in C++, emphasizing that they are non-member functions granted access to private data. He illustrates how a friend function is declared and discusses the logical requirement for it to take an object as an argument. The lesson progresses through different categories of friend functions, including simple friend functions and bridges between classes. He uses checkmarks to validate correct syntax and crosses out incorrect usage examples, marking the distinction between valid and invalid implementations of friend functions.

  5. 15:00 – 20:00 15:00-20:00

    The video lecture introduces the concept of Friend Functions in C++, explaining them as non-member functions that access private and protected class members. The instructor details the syntax, categories of friend functions (simple, bridge, etc.), and logical requirements like passing objects as arguments. The session transitions to a practical code example demonstrating a 'Simple Friend Function' that calculates the area of a circle by accessing its private radius member. The code snippet includes '#include <iostream>' and 'class Circle { float r; ... friend float cal_area(Circle c); }'.

  6. 20:00 – 25:00 20:00-25:00

    The instructor explains the concept of a simple friend function in C++ using a `Circle` class example. He demonstrates how the friend function `cal_area` is declared inside the class and defined outside, allowing it to access private members like `r`. The instructor draws diagrams to illustrate the relationship between the class object and the friend function, showing how the private data is accessed during execution. The output shows 'Input radius: 5' resulting in '78.5', confirming the calculation `return 3.14 * c.r * c.r;`.

  7. 25:00 – 30:00 25:00-30:00

    The instructor explains a C++ friend function example where two classes, Circle and Rectangle, share a common friend function to calculate the combined area. He demonstrates how the friend function accesses private members of both classes by passing objects as arguments. The instructor manually traces the execution flow, calculating values for radius and dimensions to verify the output. He circles 'friend float res_area' declarations in both classes, drawing diagrams to represent object memory layout (Circle 'c' and Rectangle 's') and verifying the final output 28.5 in the console window.

  8. 30:00 – 35:00 30:00-35:00

    The instructor is explaining the concept of a friend function that acts as a bridge between two classes, specifically `Circle` and `Rectangle`. He highlights the forward declaration of `class Rectangle` at line 5, which is necessary because the friend function inside `Circle` references `Rectangle` before it is fully defined. The code demonstrates a global friend function `res_area` that takes objects of both classes as parameters to calculate an area involving private members from each. The instructor emphasizes the forward declaration necessity and bridge concept between classes.

  9. 35:00 – 37:23 35:00-37:23

    The instructor concludes the segment by reinforcing the syntax for declaring friend functions inside class definitions and defining them outside. He shows the definition of `res_area` function outside classes, demonstrating usage in the main function. The code snippet includes 'friend float res_area(Rectangle s, Circle c);' and 'return s.ar - c.ar;'. The instructor highlights the forward declaration necessity, bridge concept between classes, and accessing private members via friend function parameters to ensure students understand the complete flow of data access across class boundaries.

The lecture systematically builds understanding of Friend Functions in C++ by first defining them as non-member functions that bypass encapsulation to access private and protected members. The instructor uses visual aids, including class diagrams and code snippets, to illustrate the syntax 'friend void functionName(ClassName);' and lists four categories of friend functions. The progression moves from theoretical definitions to practical implementation, starting with a simple example calculating the area of a circle. The complexity increases as the instructor introduces a bridge function between two classes, Circle and Rectangle, requiring forward declarations. Key evidence includes the code 'class Circle { float r; ... friend float cal_area(Circle c); }' and the output '78.5'. The instructor emphasizes that while friend functions violate strict data hiding, they are essential for operations like operator overloading and cross-class calculations. The final examples demonstrate how to pass objects as arguments to access private data, with the instructor manually tracing execution to verify outputs like '28.5'.

Loading lesson…