Polymorphism
Duration: 39 min
This video lesson is available to enrolled students.
Inside: a video lesson and guided study material.
Module outline
- 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 / केन्द्रीय और परिधीय तंत्रिका तंत्र
- 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 / शोध नैतिकता
- 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)
- 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)
- 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)
- 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 / वैशेषिक
- 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 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 / भौगोलिक संकेतों का संरक्षण
- 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 / संक्रामक रोग और प्रतिरक्षण
- 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 / उच्च शिक्षा का नियमन, प्रत्यायन और रैंकिंग
- 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
- 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, Cloud Computing, Mobile 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
- Full Notes: Paper 1 Full Notes
- 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.

