Polymorphism
Duration: 39 min
This video lesson is available to enrolled students.
Inside: a video lesson and guided study material.
Module outline
- Course Overview: About the Course
- 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
- 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
- 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
- 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
- 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
- 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
- Paper - 1 | Unit - 7 | Data Interpretation: आँकड़े एवं आलेखीय निरूपण / Data and Graphical Representation, आँकड़ा निर्वचन: तालिका / Data Interpretation: Tables
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- Live Classes: NTA UGC NET 2025 Live Class
- Paper 1 | Full Mock Tests:
- Paper 2 | Full Mock Tests:
- Paper 1 | Previous Year Papers:
- Paper 2 | Previous Year Papers:
AI summary & chapters
AI Summary
An AI-generated summary of this video lecture.
This lecture introduces polymorphism in C++ Object-Oriented Programming Systems (OOPS), defining it as 'One Interface, Many Forms' derived from Greek roots. The instructor distinguishes between compile-time (static binding) and run-time (dynamic binding) polymorphism, associating the former with function/operator overloading within a single class and the latter with virtual functions in inheritance hierarchies. Key conditions for function overriding are detailed, including parent-child relationships and the necessity of virtual base class functions. The lecture demonstrates why base class pointers are essential for runtime polymorphism, using code examples with Animal, Dog, and Cat classes to show how a single pointer can invoke different derived class behaviors dynamically. The benefits of polymorphism in terms of code flexibility and maintainability are emphasized over direct derived object usage.
Chapters
0:00 – 2:00 00:00-02:00
The lecture begins with an introduction to Polymorphism within the context of OOPS using C++. The instructor presents a title slide clearly stating 'OOPS with C++' and 'Polymorphism'. No code or specific examples are visible yet, indicating this is the beginning of a lecture on this specific concept. The instructor actively explains the concept, likely setting the stage for a detailed discussion on how polymorphism functions in C++ programming. The visual focus remains on the title slide, indicating this is an introductory phase of the lecture where the topic is established.
2:00 – 5:00 02:00-05:00
The instructor breaks down the term Polymorphism into its two primary forms: Overloading and Overriding. He writes these terms on the screen to distinguish their contexts, noting that overloading applies to the same class while overriding occurs inside inheritance. A definition slide explains that Polymorphism means 'One Interface, Many Forms' derived from 'Poly = Many' and 'Morphs = Forms'. A diagram illustrates the two main types: compile-time or static binding involving function and operator overloading, and run-time or dynamic binding involving virtual functions. The instructor underlines key phrases in the definition text, such as 'same interface' and 'different tasks,' to emphasize the concept.
5:00 – 10:00 05:00-10:00
The lesson transitions to a detailed comparison table distinguishing between Compile-Time Polymorphism and Run-Time Polymorphism, highlighting their resolution times, binding types, and implementation methods like function overloading versus virtual functions. The instructor underlines key terms like 'fundamental concepts' and 'same interface', circles specific examples like 'Function Overloading' and 'Virtual Functions', uses a checkmark to emphasize resolution during compilation, and highlights the distinction between static and dynamic binding. The text on screen includes 'Compile time / static binding / early binding' and 'Run time / Dynamic binding / late Binding', providing a clear visual distinction between the two types of polymorphism.
10:00 – 15:00 10:00-15:00
The video segment focuses on comparing Compile-Time and Run-Time Polymorphism through detailed tables. It highlights the differences between Function Overloading and Function Overriding, specifically noting that overloading occurs within the same class while overriding happens between base and derived classes. The instructor then transitions to a dedicated slide defining Function Overriding as a feature of Runtime Polymorphism where a derived class provides its own implementation of a virtual function from the base class. Handwritten code examples illustrate base and derived class function signatures, with red underlines highlighting specific conditions for overriding such as 'Parent-child relationship (Inheritance)' and 'Base class function must be virtual'.
15:00 – 20:00 15:00-20:00
The instructor explains the requirements for function overriding in C++, specifically focusing on public inheritance and the use of base class pointers or references. Handwritten notes illustrate a derived class inheriting publicly from a base class and the necessity of using a pointer to call the overridden function. The visual progression shows the instructor adding details about how the base class pointer interacts with the derived object to invoke the virtual function. The text on screen lists conditions for Function Overriding including 'Parent-child relationship (Inheritance)', 'Same function name', 'Same parameter list', and 'Base class function must be virtual'. The instructor emphasizes public inheritance necessity and demonstrates pointer syntax for base class reference.
20:00 – 25:00 20:00-25:00
The lecture explains the concept of function overriding as a feature of runtime polymorphism, detailing specific conditions required for overriding such as inheritance and matching function signatures. The instructor transitions to a C++ code example demonstrating why base class pointers are necessary for achieving polymorphism. The text on screen includes '#include <iostream>', 'class Animal', and conditions for overriding like 'Dynamic Binding or Late Binding'. The instructor highlights the need for overriding, contrasts direct calls vs pointer-based calls, and emphasizes runtime selection of function. The problem without a base class pointer is introduced to show the lack of polymorphism in direct calls.
25:00 – 30:00 25:00-30:00
The video explains the necessity of function overriding using a base class pointer to achieve runtime polymorphism. Initially, it demonstrates a scenario without a base class pointer where the derived class function is called directly, showing no polymorphism. Then, it introduces a base class pointer that can point to objects of different derived classes (Dog and Cat), calling the appropriate overridden function at runtime based on the actual object. The text on screen includes 'Why Do We Need Function Overriding with a Base Class Pointer?', 'The main purpose is to allow one base class pointer to work with objects of different derived classes.', and 'Real Need Comes with Base Class Pointer'. The instructor highlights the need for overriding, contrasts direct calls vs pointer-based calls, and emphasizes runtime selection of function.
30:00 – 35:00 30:00-35:00
The screen displays C++ code defining an Animal base class with a virtual sound() function and derived classes Dog and Cat. A flowchart illustrates two cases where a base class pointer points to either a Dog or Cat object, resulting in 'Bark' or 'Meow' output respectively. Green annotations highlight the inheritance relationship and label the concept as 'Runtime Polymorphism'. Red checkmarks verify the use of virtual and override keywords. The bottom text emphasizes that the base pointer remains the same while the object changes, demonstrating how a single interface can produce many forms dynamically.
35:00 – 38:51 35:00-38:51
The instructor explains the benefits of using polymorphism over direct derived object usage by comparing two code structures. He highlights that without polymorphism, separate code is needed for every class type (Dog, Cat, Cow, Lion), whereas with polymorphism, a single base class pointer can handle different derived objects dynamically. The lecture transitions to defining Function Overriding as a feature of Runtime Polymorphism, detailing the specific conditions required for it to occur. The text on screen includes 'Why Not Use Derived Objects Directly?', 'Without polymorphism:', 'With polymorphism:', and 'Animal *ptr;'. The instructor emphasizes flexibility, extensibility, and maintainability while underlining key terms like 'virtual function' and 'Runtime Polymorphism'.
The lecture systematically builds understanding of polymorphism in C++ by first defining the concept as 'One Interface, Many Forms' and then categorizing it into compile-time (static binding) and run-time (dynamic binding). Compile-time polymorphism is associated with function/operator overloading within the same class, while run-time polymorphism relies on virtual functions and inheritance. The instructor emphasizes that function overriding requires specific conditions: a parent-child relationship, matching function signatures (name and parameters), and the base class function must be declared virtual. A critical insight is that base class pointers are necessary to achieve runtime polymorphism, as they allow a single interface to invoke different derived class behaviors dynamically. Code examples with Animal, Dog, and Cat classes illustrate how a base pointer can point to different derived objects, calling the appropriate overridden function at runtime. The lecture concludes by highlighting the benefits of polymorphism in terms of code flexibility, extensibility, and maintainability compared to direct derived object usage.