
Object Oriented Programming using C++ Language with File Handling, Exception Handling, Standard Template Library
What you will learn
Students will learn Objet Oriented Programming using C++ Language.
Students will learn File Handling in C++.
Students will learn Exception Handling in C++.
Students will learn Standard Template Library in C++.
Description
Hello All,
I welcome you to this course on “Learn C++ Programming – Beginner to Advanced”. In this course you will learn fundamentals of Object Oriented Programming. In this course, you will learn features of Object Oriented Programming like Encapsulation, Inheritance, Polymorphism, Abstraction. You will be able to differentiate between Run time Polymorphism and Compile time Polymorphism. In this course, I have also covered File Handling and Exception Handling in C++. You will also learn how to use Standard Template Library in C++ language.
So, at the end I wish you all the best. Please provide 5 star rating to this course which will motivate me to launch such courses in future.
Happy Learning!!!
Topics Covered in this course are as follows:
1. How to Compile and Run a C / C++ Program from Command Prompt in Windows | Run C/ C++ code in CMD
2. C++ Initializing Variables | 3 Ways Including Brace Initialization | Variable Declaration in C++
3. Namespace in C++ with Examples | Namespaces in C Plus Plus Programming Language
4. How To Create Header File in C or C++ Language With Example | How To Create Header File in CPP
5. enum in C++ | Enumeration – enum in C++ Programming Tutorial | enums C++
6. Utility Function in C++ with Example Program
7. Copy Constructor in C++ with Example Program | Copy Constructor in C Plus Plus
8. Destructor in C++ with Example | Destructor in C++ OOP
9. friend function in c++ with example | friend keyword in c++
10. Inline Function in C++ with Example
11. Inheritance in C++ Part 1 | Types of Inheritance in CPP
12. Inheritance in C++ Part 2 | Visibility Modes in Inheritance in C++ with Example
13. Virtual Base Class in C++ | Solution to Diamond Problem in C++ using Virtual Inheritance | Ambiguity
14. Friend Class and Friend Function in C++ with Example | Friend Function in CPP with Example
15. Nested Class in C++ with Example | Inner Class in C++ | Nested Class in CPP | Inner Class in CPP
16. Pointers in C and C++ | Pointers in C and CPP Programming Languages | Indirection Operator
17. new delete Operator in C++ Program | Dynamic Memory Allocation in CPP | new delete Array C++
18. Pointer to Object C++ | Pointer to Object in C Plus Plus | Pointer to Object in CPP
19. this Pointer in C++ with Example Program | this Keyword in CPP | this Keyword in C++ Class
20. Function Pointers in C and C++ | Function Pointer as Argument in C and CPP Programming Languages
21. Passing Pointers To Functions in C and CPP | Passing Pointers as Arguments To Functions in C and C++
22. Return Pointer from Function in C and CPP | Return Pointer C++
23. NULL Pointer in C and C++ with Example Program
24. Void Pointer in C and C++ with Example Program | Void Pointer Declaration in C and CPP Programming
25. Dangling Pointer in C++ with Simple Example | Dangling Pointer and Memory Leak in C++
26. Reference Variable in C++ | Reference Type
27. Function Overloading in C++ with Program Example | Function Overloading in OOP | Polymorphism in C++
28. Operator Overloading in C++ Part 1 | Operator Overloading in C Plus Plus or CPP with Example Program
29. Operator Overloading in C++ Part 2 | Overloading Unary Operator in C++ with Example Program
30. Operator Overloading in C++ Part 3 | Operator Overloading in C++ using Friend Function
31. Operator Overloading in C++ Part 4 | Insertion and Extraction Operator Overloading in C++
32. explicit Keyword in C++ | explicit Constructor in C++ | explicit Qualifier in C++
33. Mutable Keyword in C++ | Mutable in CPP
34. Virtual and Pure Virtual Function in C++ | Abstract Class | Runtime vs Compile Time Polymorphism
35. Command Line Arguments in C and C++ with Example | Command Line Arguments in C++ using argc and argv
36. File Handling in C++ Programming Part 1 | Input Output Stream Classes in C++ |Stream Class Hierarchy
37. File Handling in C++ Programming Part 2 | Input Output Operations on Files in C++ with Examples
38. File Handling in C++ Programming Part 3 | File Pointers in C++ | get put seekg seekp tellg tellp
39. Exception Handling in C++ with Examples | C++ Exception Handling
40. C++ Template Part 1 | Function Template in CPP
41. C++ Template Part 2 | Class Template in CPP
42. Separate and Independent Compilation with Example | Independent Compilation in C and Java language
43. Virtual Destructor in C++ | Virtual Destructor in CPP | Virtual Destructor in Base Class
44. C++ STL Part 1 | Introduction to Standard Template Library in CPP Language
45. C++ STL Part 2 | Vector in Standard Template Library in CPP Language
46. C++ STL Part 3 | Vector with sort() function in Standard Template Library in CPP Language | Sorting
47. C++ STL Part 4 | Vector with find() and find_if() function in Standard Template Library in CPP
48. C++ STL Part 5 | Map in Standard Template Library in CPP Language | Map Associative Container in CPP
49. C++ STL Part 6 | minmax algorithm in Standard Template Library in CPP Language | min-max algorithm
50. C++ STL Part 7 | Set in Standard Template Library in CPP Language | Set Associative Container in CPP
51. C++ STL Part 8 | Heap & Heap Sort in Standard Template Library in CPP Language
Content
Introduction
C++ Class, Object, Constructor, Destructor, Data Members and Member Functions
C++ Data Types
Initializing Variables, Namespace, Header files, enumeration type
Static Data Member and Static Member Functions in C++
Control Structures in C++
Utility Function, Constructor, Destructor
Friend function, Inline function
Inheritance in C++
Friend Class, Friend Function, Nested Class
Pointers in C++
Polymorphism in C++
explicit keyword, mutable keyword
Virtual and Pure Virtual Function in C++ | Runtime vs Compile Time Polymorphism
Command Line Arguments in C++ using argc and argv
File Handling in C++ Programming
Exception Handling in C++ with Examples | C++ Exception Handling
C++ Template | Generic Type
Separate and Independent Compilation with Example
Virtual Destructor in C++ | Virtual Destructor in CPP
Standard Template Library in C++ Language
- Course Overview
- Embark on a comprehensive journey into the world of C++ programming, a powerful and versatile language revered for its performance and control. This course is meticulously designed to transform absolute beginners into proficient C++ developers, capable of architecting and implementing sophisticated software solutions.
- Uncover the foundational tenets of procedural programming, building a rock-solid understanding of C++ data processing and low-level instruction execution.
- Transition seamlessly into the paradigm of Object-Oriented Programming (OOP), a cornerstone of modern software engineering, learning to design modular, reusable, and scalable code structures that mimic real-world entities.
- Explore the intricacies of memory management, understanding how to efficiently allocate and deallocate resources, crucial for high-performance applications and avoiding common pitfalls.
- Delve into creating robust, error-resilient applications by mastering graceful handling of unexpected events and runtime issues.
- Leverage the vast capabilities of the C++ Standard Library, gaining proficiency in utilizing pre-built, highly optimized components for common programming tasks, significantly boosting development speed and code quality.
- Conclude your learning by stepping into the realm of concurrent programming, understanding how to write applications that perform multiple operations simultaneously, unlocking enhanced performance and responsiveness in demanding computational scenarios.
- The curriculum combines theoretical knowledge with practical coding exercises and projects for effective application.
- Requirements / Prerequisites
- Basic Computer Literacy: Familiarity with operating a computer, navigating file systems, and performing basic tasks.
- An Eagerness to Learn: A strong motivation and commitment to learn programming concepts and practice regularly.
- Logical Thinking: While not strictly required, a basic aptitude for problem-solving and logical reasoning will greatly aid your learning process.
- No Prior Programming Experience Needed: This course is truly designed from the ground up, making it accessible to individuals with no prior exposure to coding.
- Skills Covered / Tools Used
- Foundational Programming Logic: Mastering variables, constants, fundamental operators, and expressions for effective data manipulation.
- Program Flow Control: Implementing decision-making (if-else, switch) and looping (for, while, do-while) mechanisms for program flow control.
- Modular Program Design: Utilizing functions for modular program design, enhancing code organization and maintainability.
- Abstract Data Types (ADTs): Designing and implementing custom data structures using classes and objects, embodying principles of abstraction and encapsulation.
- Inheritance and Polymorphism: Architecting hierarchical class relationships and runtime polymorphism for flexible, extensible designs.
- Resource Management: Advanced memory allocation (heap/stack), employing smart pointers and RAII (Resource Acquisition Is Initialization) for safer resource handling.
- Input/Output Operations: Proficiently reading/writing to various stream types (console, files, strings) for data persistence.
- Robust Error Management: Implementing structured exception handling to catch runtime errors gracefully, preventing crashes and ensuring reliability.
- Generic Programming with Templates: Developing highly reusable, type-safe code using function and class templates (STL cornerstone).
- Efficient Data Structures & Algorithms: Expertise in C++ STL containers (vectors, lists, maps, sets) and algorithms for efficient data management.
- Concurrent Programming Fundamentals: Introducing parallel execution and synchronization using OpenMP for multi-core performance optimization.
- Development Environment Proficiency: Hands-on experience with IDEs (VS Code/Visual Studio), GCC/Clang compilation, and debugging tools.
- Benefits / Outcomes
- Industry-Ready C++ Developer: Emerge with a robust skill set, highly marketable for C++ development roles in diverse industries.
- Strong Foundation for Advanced Topics: Build an exceptional bedrock for advanced areas: game development (Unreal Engine), embedded systems, high-frequency trading, OS development.
- Enhanced Problem-Solving Acumen: Develop a systematic, analytical approach to complex programming challenges, fostering critical thinking.
- Ability to Build Real-World Applications: Gain practical confidence to design, implement, and debug your own projects, from utilities to system components.
- Preparation for Technical Interviews: Equip yourself with knowledge and experience to ace C++ technical interviews.
- Understanding of System Internals: Acquire a deeper appreciation for system resource management and program execution, valuable for any tech role.
- Contribution to Open Source: Be empowered to understand and potentially contribute to numerous open-source projects written in C++.
- Career Versatility: C++ proficiency opens doors to roles requiring high-performance computing, low-latency systems, graphics programming, and more.
- PROS
- Comprehensive Coverage: Spans fundamental to advanced topics, ensuring a complete learning path.
- Practical & Project-Based: Emphasis on hands-on coding reinforces theoretical concepts effectively.
- Modern C++ Focus: Incorporates best practices and features relevant to contemporary C++ development.
- Career Advancement: Provides skills highly valued in various tech sectors.
- CONS
- Steep Learning Curve: C++ can be challenging, requiring consistent effort and dedication to master its nuances.