Duration 4 Days 24 CPD hours This course is intended for This is an introductory-level C++ programming course designed for developers with experience programming in C or other languages. Practical hands-on prior programming experience and knowledge is required. Overview This 'skills-centric' course is about 50% hands-on lab and 50% lecture, designed to train attendees in basic coding with C++, coupling the most current, effective techniques with the soundest industry practices. Our engaging instructors and mentors are highly experienced practitioners who bring years of current 'on-the-job' experience into every classroom. Working in a hands-on learning environment, guided by our expert team, attendees will learn: Writing procedural programs using C++ Using private, public and protected keywords to control access to class members Defining a class in C++ Writing constructors and destructors Writing classes with const and static class members Overloading operators Implementing polymorphic methods in programs Writing programs using file I/O and string streams Using manipulators and stream flags to format output Using the keyword template to write generic functions and classes Writing programs that use generic classes and functions Writing programs that use algorithms and containers of the Standard Library Apply object-oriented design techniques to real-world programming problems Using algorithms and containers of the Standard Library to manipulate string data Understand how C++ protects the programmer from implementation changes in other modules of an application Using try() blocks to trap exceptions Using catch() blocks to handle exceptions Defining exceptions and using throw to trigger them Introduction to C++ Programming / C++ Essentials is a skills-focused, hands-on C++ training course geared for experienced programmers who need to learn C++ coupled with sounds coding skills and best practices for OO development. Students will leave this course armed with the required skills to put foundation-level C++ programming skills right to work in a practical environment. The central concepts of C++ syntax and style are taught in the context of using object-oriented methods to achieve reusability, adaptability and reliability. Emphasis is placed on the features of C++ that support abstract data types, inheritance, and polymorphism. Students will learn to apply the process of data abstraction and class design. Practical aspects of C++ programming including efficiency, performance, testing, and reliability considerations are stressed throughout. Comprehensive hands on exercises are integrated throughout to reinforce learning and develop real competency Moving from C to C++ (Optional) New Compiler Directives Stream Console I/O Explicit Operators Standard Libraries Data Control Capabilities Handling Data New Declaration Features Initialization and Assignment Enumerated Types The bool Type Constant Storage Pointers to Constant Storage Constant Pointers References Constant Reference Arguments Volatile Data Global Data Functions Function Prototypes and Type Checking Default Function Data Types Function Overloading Problems with Function Overloading Name Resolution Promotions and Conversions Call by Value Reference Declarations Call-by-Reference and Reference Types References in Function Return Constant Argument Types Conversion of Parameters Using Default Initializers Providing Default Arguments Inline Functions Operator Overloading Advantages and Pitfalls of Overloading Member Operator Syntax and Examples Class Assignment Operators Class Equality Operators Non-Member Operator Overloading Member and Non-Member Operator Functions Operator Precedence This Pointer Overloading the Assignment Operator Overloading Caveats Creating and Using Objects Creating Automatic Objects Creating Dynamic Objects Calling Object Methods Constructors Initializing Member consts Initializer List Syntax Allocating Resources in Constructor Destructors Block and Function Scope File and Global Scope Class Scope Scope Resolution Operator :: Using Objects as Arguments Objects as Function Return Values Constant Methods Containment Relationships Dynamic Memory Management Advantages of Dynamic Memory Allocation Static, Automatic, and Heap Memory Free Store Allocation with new and delete Handling Memory Allocation Errors Controlling Object Creation Object Copying and Copy Constructor Automatic Copy Constructor Conversion Constructor Streaming I/O Streams and the iostream Library Built-in Stream Objects Stream Manipulators Stream Methods Input/Output Operators Character Input String Streams Formatted I/O File Stream I/O Overloading Stream Operators Persistent Objects Introduction to Object Concepts The Object Programming Paradigm Object-Orientated Programming Definitions Information Hiding and Encapsulation Separating Interface and Implementation Classes and Instances of Objects Overloaded Objects and Polymorphism Declaring and Defining Classes Components of a Class Class Structure Class Declaration Syntax Member Data Built-in Operations Constructors and Initialization Initialization vs. Assignment Class Type Members Member Functions and Member Accessibility Inline Member Functions Friend Functions Static Members Modifying Access with a Friend Class Templates Purpose of Template Classes Constants in Templates Templates and Inheritance Container Classes Use of Libraries Strings in C++ Character Strings The String Class Operators on Strings Member Functions of the String Class Inheritance Inheritance and Reuse Composition vs. Inheritance Inheritance: Centralized Code Inheritance: Maintenance and Revision Public, Private and Protected Members Redefining Behavior in Derived Classes Designing Extensible Software Systems Syntax for Public Inheritance Use of Common Pointers Constructors and Initialization Inherited Copy Constructors Destructors and Inheritance Public, Protected, Private Inheritance Exceptions Types of Exceptions Trapping and Handling Exceptions Triggering Exceptions Handling Memory Allocation Errors C++ Program Structure Organizing C++ Source Files Integrating C and C++ Projects Using C in C++ Reliability Considerations in C++ Projects Function Prototypes Strong Type Checking Constant Types C++ Access Control Techniques Polymorphism in C++ Definition of Polymorphism Calling Overridden Methods Upcasting Accessing Overridden Methods Virtual Methods and Dynamic Binding Virtual Destructors Abstract Base Classes and Pure Virtual Methods Multiple Inheritance Derivation from Multiple Base Classes Base Class Ambiguities Virtual Inheritance Virtual Base Classes Virtual Base Class Information The Standard Template Library STL Containers Parameters Used in Container Classes The Vector Class STL Algorithms Use of Libraries
Realistic rendering course with 3ds max and Arnold.
the stained glass summer class at rainbow glass studios August 7th - 11th 2023 is designed to teach all the traditional techniques needed to make a large stained glass panel. This class is for all abilities and is carried out in a well equipt studio in London.
What is NLP? Join proactivenlp.com on this virtual workshop and find out how NLP can start changing your life by saying goodbye to the negatives and welcoming in all the positives you want.
In this course, you will learn how to create an AAA-looking scene in Unreal Engine 5 from scratch. This class is not for beginners; therefore, no basics of Unreal Engine 5 will be covered. You should be able to know how to navigate and have basic knowledge of the Unreal Engine 5 Interface.
In this course, you will dive deep into the 5 domains of the CompTIA Pentest+ exam and learn each topic in a succinct manner. You will learn the structure of the exam and create your own pentest lab, and have the confidence to ace the exam, whenever you decide to attempt it.
What is Disciplined Agile? Where did it come from? Where is it going? How can it help me? In your organization, you are very likely using a variety of approaches to deliver solutions to your stakeholders. You might be using traditional waterfall, agile, or hybrid approaches. If you are applying agile methods or frameworks, you might be using Scrum, SAFe®, Lean Kanban, or 'roll your own' techniques. Regardless of what methods you are using, the Disciplined Agile (DA) tool kit can help you to be more effective. It is an agnostic, comprehensive library of strategies and practices, with practical advice for which ones work for in different contexts. Many organizations struggle to evolve an agile way of working (WoW) that makes sense for their unique situations. The good news is that you don't need to figure it out on your own. The DA tool kit leverages the experiences of thousands of teams who have already struggled through the very issues that our teams currently face. By referencing these strategies, you can accelerate your journey to project delivery success using a technique we call Guided Continuous Improvement (GCI). Learning Objectives This presentation explains the value of the Disciplined Agile tool kit and how to use it in practice with GCI across your entire organization, putting you on a path to true business agility. Learn what DA is and where it came from Learn about where DA is moving next Understand how DA can help you with your projects
Premium Bundle of all Time | Ofqual Regulation + ATHE Awards + CPD Accreditation | Assessment & Tutor Support Included
Premium Bundle of all Time | Ofqual Regulation + ATHE Awards + QLS Endorsement | Assessment & Tutor Support Included
Get hands-on with specialized tools to scan, attack, and decompile code.