Friend Function - Part 1

Duration: 37 min

This video lesson is available to enrolled students.

Return to /learn/NTA-UGC-NET-PAPER-2/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. Course Overview: About the Course
  2. 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, Nature, Objectives & Characteristics of Teaching, Learners & Learning Process, Teaching-Learning Aids & ICT Integration, Sāṃkhya, व्यक्तिगत व्यवहार / Individual Behaviour, मानव संसाधन प्रबंधन / Human Resource Management, बाल्यावस्था में विकास के क्षेत्र / Domains of Child Development, संवेग का जैविक आधार / Biological Basis of Emotion, उपनिषद और भगवद्गीता / Upanishads and Bhagavad Gita, केन्द्रीय और परिधीय तंत्रिका तंत्र / Central and Peripheral Nervous Systems
  3. 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, अनुसंधान में ICT का अनुप्रयोग / Application of ICT in Research, शोध नैतिकता / Research Ethics, Introduction to Research, Validity & Reliability, Research Paradigms & Types of Research, Research Ethics, Writing & Publication
  4. 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), Restoration and Eighteenth-Century Drama, Modern British Fiction, William Shakespeare, Mid-Twentieth-Century and Contemporary British Fiction, American Drama
  5. 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, Communication Basics, Language and Semiotics, Mass Communication, Mass Media, Journalism, General Knowledge and General Studies related to Communication, Static General Knowledge, Morphology and Syntax, जन स्वास्थ्य पोषण / Public Health Nutrition, Newtonian Motion and Stability, GK- Current Affairs, Indian Economy, Art and Architecture, India after Independence
  6. 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, Series (Number and Letter Series) (Numerical Relations and Reasoning), Ratio and Proportion (Ratios), Powers and Exponents (Surds and Indices), Directions (Direction Test), Analytical Reasoning (Counting Figures Reasoning), Verbal Analogy (Word Based Analogy), Divisibility Rules, Miscellaneous, Mathematical Foundations, Polity, जीवनी, Deconstruction, Gender and Queer Theory, Modern British and Irish Poetry, Central Force and Scattering, Chemical thermodynamics, Microscopic techniques, संविधान का दर्शन / Philosophy of the Constitution, Waves, Optics and Charged-Particle Motion, Membrane structure and function, Analysis
  7. 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, Syllogisms, Non Verbal Reasoning (Spatial Aptitude) (Spatial Reasoning) (Visual Reasoning), Deductive and Inductive Reasoning (Logical Deduction and Induction) (Prepositional Reasoning), Venn Diagram, School Of Thoughts, Western Logic, Aristotle, पाश्चात्य दर्शन की विचारधाराएँ / Western Schools of Philosophy, Kant, Sadhana Paada, Vaiśeṣika
  8. Paper - 1 | Unit - 7 | Data Interpretation: आँकड़े एवं आलेखीय निरूपण / Data and Graphical Representation, आँकड़ा निर्वचन: तालिका / Data Interpretation: Tables
  9. 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 / 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, Artificial Intelligence, Society, Law & Ethics, Keyboard Shortcuts, Website, Browser & Services, भौगोलिक संकेतों का संरक्षण / Protection of Geographical Indications
  10. 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, Ecosystem, Biomes & Environmental Issues, Noise Pollution and Waste Management, Natural Resources, Energy & Disaster Management, Environment, Geography, कारखाना और उद्योग व्यवस्थाएँ / Factory and Industry Systems, Earth Materials, Surface Features and Processes, संक्रामक रोग और प्रतिरक्षण / Communicable Diseases and Immunization
  11. 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, राष्ट्रीय शिक्षा नीति 2020 / National Education Policy 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, Jainism & Buddhism, Pre-Independence Commissions, Post-Independence Policy, Higher Education Structure & Accreditation, Universities & Learning Programmes, Types of Education & NEP 2020
  12. Paper 2 | Unit 1 | Discrete Structures and Optimization: Propositional and Predicate Logic, Set Theory, Relations, Functions, क्रमचय, संचय एवं प्रायिकता / Permutation, Combination and Probability, Probability, Graph Theory, Group Theory, Digital Systems & Boolean Basics, Boolean Expression, Boolean Minimization, Optimization, Markov Chains
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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, Mobile Technology, Cloud Computing and IoT, Cloud Computing
  21. 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
  22. Live Classes: NTA UGC NET 2025 Live Class
  23. Paper 1 | Full Mock Tests:
  24. Paper 2 | Full Mock Tests:
  25. Paper 1 | Previous Year Papers:
  26. 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…