Duration 3 Days 18 CPD hours This course is intended for Typical candidates for this course are IT Professionals who deploy small-to-medium scale enterprise network solutions based on Aruba products and technologies. Overview After you successfully complete this course, expect to be able to: Explain how Aruba's wireless networking solutions meet customers' requirements Explain fundamental WLAN technologies, RF concepts, and 802.11 Standards Learn to configure the Mobility Master and Mobility Controller to control access to the Employee and Guest WLAN Control secure access to the WLAN using Aruba Firewall Policies and Roles Recognize and explain Radio Frequency Bands and channels, and the standards used to regulate them Describe the concept of radio frequency coverage and interference and successful implementation and diagnosis of WLAN systems Identify and differentiate antenna technology options to ensure optimal coverage in various deployment scenarios Describe RF power technology including, signal strength, how it is measured and why it is critical in designing wireless networks Learn to configure and optimize Aruba ARM and Client Match and Client Insight features Learn how to perform network monitoring functions and troubleshooting This course teaches the knowledge, skills and practical experience required to set up and configure a basic Aruba WLAN utilizing the OS 8.X architecture and features. Using lecture and labs, this course provides the technical understanding and hands-on experience of configuring a single Mobility Master with one controller and AP Aruba WLAN. Participants will learn how to use Aruba hardware and ArubaOS to install and build a complete, secure controller network with multiple SSIDs. This course provides the underlying material required to prepare candidates for the Aruba Certified Mobility Associate (ACMA) certification exam. WLAN Fundamentals Describes the fundamentals of 802.11, RF frequencies and channels Explain RF Patterns and coverage including SNR Roaming Standards and QOS requirements Mobile First Architecture An introduction to Aruba Products including controller types and modes OS 8.X Architecture and features License types and distribution Mobility Master Mobility Controller Configuration Understanding Groups and Subgroups Different methods to join MC with MM Understanding Hierarchical Configuration Secure WLAN configuration Identifying WLAN requirements such as SSID name, encryption, authentication Explain AP groups structure and profiles Configuration of WLAN using the Mobility Master GUI AP Provisioning Describes the communication between AP and Mobility controller Explain the AP booting sequence and requirements Explores the APs controller discovery mechanisms Explains how to secure AP to controller communication using CPSec Describes AP provisioning and operations WLAN Security Describes the 802.11 discovery, authentication and association Explores the various authentication methods, 802.1x with WPA/WPA2, Mac auth Describes the authentication server communication Explains symmetric vs asymmetric Keys, encryption methods WIPS is described along with rogue discovery and protection Firewall Roles and Policies An introduction into Firewall Roles and policies Explains Aruba?s Identity based Firewall Configuration of Policies and Rules including aliases Explains how to assign Roles to users Dynamic RF Management Explain how ARM calibrates the network selecting channels and power settings Explores OS 8.X Airmatch to calibrate the network How Client Match and ClientInsight match steers clients to better APs Guest Access Introduces Aruba?s solutions for Guest Access and the Captive portal process Configuration of secure guest access using the internal Captive portal The configuration of Captive portal using Clearpass and its benefits Creating a guest provisioning account Troubleshooting guest access Network Monitoring and Troubleshooting Using the MM dashboard to monitor and diagnose client, WLAN and AP issues Traffic analysis using APPrf with filtering capabilities A view of Airwaves capabilities for monitoring and diagnosing client, WLAN and AP issues Additional course details: Nexus Humans Aruba Mobility Fundamentals, Rev. 20.11 training program is a workshop that presents an invigorating mix of sessions, lessons, and masterclasses meticulously crafted to propel your learning expedition forward. This immersive bootcamp-style experience boasts interactive lectures, hands-on labs, and collaborative hackathons, all strategically designed to fortify fundamental concepts. Guided by seasoned coaches, each session offers priceless insights and practical skills crucial for honing your expertise. Whether you're stepping into the realm of professional skills or a seasoned professional, this comprehensive course ensures you're equipped with the knowledge and prowess necessary for success. While we feel this is the best course for the Aruba Mobility Fundamentals, Rev. 20.11 course and one of our Top 10 we encourage you to read the course outline to make sure it is the right content for you. Additionally, private sessions, closed classes or dedicated events are available both live online and at our training centres in Dublin and London, as well as at your offices anywhere in the UK, Ireland or across EMEA.
Duration 5 Days 30 CPD hours This course is intended for Typical candidates for this course are IT Professionals who deploy small-to-medium scale enterprise network solutions based on Aruba products and technologies Overview After you successfully complete this course, expect to be able to: Explain how Aruba's wireless networking solutions meet customers' requirements Explain fundamental WLAN technologies, RF concepts, and 802.11 Standards Learn to configure the Mobility Master and Mobility Controller to control access to the Employee and Guest WLAN Control secure access to the WLAN using Aruba Firewall Policies and Roles Recognize and explain Radio Frequency Bands and channels, and the standards used to regulate them Describe the concept of radio frequency coverage and interference and successful implementation and diagnosis of WLAN systems Identify and differentiate antenna technology options to ensure optimal coverage in various deployment scenarios Describe RF power technology including, signal strength, how it is measured and why it is critical in designing wireless networks Learn to configure and optimize Aruba ARM and Client Match features Learn how to perform network monitoring functions and troubleshooting AR-AMF teaches knowledge, skills & practical exp. to set up & config a basic AR WLAN utilizing OS 8.X architecture & features.using lecture & labs,AR-AMF provides tech. & hands-on exp. of config. a single Mobility Master with 1 controller & AP WLAN WLAN Fundamentals Describes the fundamentals of 802.11, RF frequencies and channels Explain RF Patterns and coverage including SNR Roaming Standards and QOS requirements Mobile First Architecture An introduction to Aruba Products including controller types and modes OS 8.X Architecture and features License types and distribution Mobility Master Mobility Controller Configuration Understanding Groups and Subgroups Different methods to join MC with MM Understanding Hierarchical Configuration Secure WLAN configuration Identifying WLAN requirements such as SSID name, encryption, authentication Explain AP groups structure and profiles Configuration of WLAN using the Mobility Master GUI AP Provisioning Describes the communication between AP and Mobility controller Explain the AP booting sequence and requirements Explores the APs controller discovery mechanisms Explains how to secure AP to controller communication using CPSec Describes AP provisioning and operations WLAN Security Describes the 802.11 discovery, authentication and association Explores the various authentication methods, 802.1x with WPA/WPA2, Mac auth Describes the authentication server communication Explains symmetric vs asymmetric Keys, encryption methods WIPS is described along with rogue discovery and protection Firewall Roles and Policies An introduction into Firewall Roles and policies Explains Aruba?s Identity based Firewall Configuration of Policies and Rules including aliases Explains how to assign Roles to users Dynamic RF Management Explain how ARM calibrates the network selecting channels and power settings Explores the new OS 8.X Airmatch to calibrate the network How Client Match and Client Insight match steers clients to better Aps Dynamic RF Management Explain how ARM calibrates the network selecting channels and power settings Explores the new OS 8.X Airmatch to calibrate the network How Client Match and Client Insight match steers clients to better Aps Guest Access Introduces Aruba?s solutions for Guest Access and the Captive portal process Configuration of secure guest access using the internal Captive portal The configuration of Captive portal using Clearpass and its benefits Creating a guest provisioning account Troubleshooting guest access Network Monitoring and Troubleshooting Using the MM dashboard to monitor and diagnose client, WLAN and AP issues Traffic analysis using APPrf with filtering capabilities A view of Airwaves capabilities for monitoring and diagnosing client, WLAN and AP issues
Duration 3 Days 18 CPD hours This course is intended for Built for experienced IT Professionals who want to be familiar with Citrix ADC. Potential students include administrators, engineers, and architects interested in learning how to deploy or manage Citrix ADC. Overview Understand the functionality and capabilities of the Citrix ADC Complete the initial setup and configuration of the Citrix ADC appliance Understand Citrix ADC Load Balancing and High Availability configuration options and management Employ recommended tools and techniques to troubleshoot common ADC network and connectivity issues Learn the skills required to implement Citrix ADC Essential components includingsecure Load Balancing, High Availability, and Citrix ADC Management. At the endof the course, students will be able to configure their Citrix ADC environments toaddress traffic delivery and management requirements including Load Balancing,Availability, and ADC Operation Management. Getting Started Introduction to Citrix ADC Feature and Platform Overview Deployment Options Architectural Overview Setup and Management Basic Networking Networking Topology Citrix ADC Components Routing Access Control Lists ADC Platforms Citrix ADC MPX Citrix ADC VPX Citrix ADC CPX Citrix ADC SDX Citrix ADC BLX High Availability Citrix ADC High Availability High Availability Configuration Managing High Availability In Service Software Upgrade Troubleshooting High Availability Load balancing Load Balancing Overview Load Balancing Methods and Monitors Load Balancing Traffic Types Load Balancing Protection Priority Load Balancing Load Balancing Troubleshooting SSL Offloading SSL Overview SSL Configuration SSL Offload Troubleshooting SSL Offload SSL Vulnerabilities and Protections Security Authentication, Authorization, and Auditing Configuring External Authentication Admin Partitions Security Citrix ADC Logging Monitoring with SNMP Reporting and Diagnostics AppFlow Functions Citrix Application Delivery Management Troubleshooting
Duration 5 Days 30 CPD hours This course is intended for This class is intended for DBAs and IT Professionals who are responsible for administration and maintenance of PostgreSQL, and want to increase proficiency and learn best practices. Targeted at: DBAs and Architects, and appropriate for Analysts, Support Engineers, and other IT professionals Overview Please refer to overview This is an immersive 5-day class that offers hands-on labs and combines the core topics from Foundations of Postgres Administration and Advanced PostgreSQL Administration into a one-week class, with significant savings over list price. Upon course completion, you will be prepared to manage mission critical PostgreSQL installations, and perform core administration tasks with confidence and skill. Course Outline 1 - POSTGRES SYSTEM ARCHITECTURE 2 - INSTALLATION AND GETTING STARTED 3 - CONFIGURATION, CREATING, MANAGING DATABASES 4 - USER TOOLS ? USING PSQL 5 - GUI TOOLS - USING PGADMIN 4 6 - SECURITY BASICS 7 - SQL PRIME BACKUP AND RECOVERY 8 - ROUTINE MAINTENANCE 9 - POSTGRES DATA DICTIONARY 10 - MOVING DATA 11 - SQL TUNING 12 - PERFORMANCE TUNING 13 - STREAMING REPLICATION 14 - TABLE PARTITIONING 15 - EXTENSION MODULES 16 - MONITORING 17 - UPGRADING BEST PRACTICES
Duration 5 Days 30 CPD hours This course is intended for This introductory-level Python course is geared for experienced web developers new to Python who want to use Python and Django for full stack web development projects. Overview Working in a hands-on learning environment, guided by our expert team, attendees will learn to: Develop full-stack web sites based on content stored in an RDMS Use python data types appropriately Define data models Understand the architecture of a Django-based web site Create Django templates for easy-to-modify views Map views to URLs Take advantage of the built-in Admin interface Provide HTML form processing Geared for experienced web developers new to Python, Introduction to Full Stack Web Development with Python and Django is a five-day hands-on course that teaches students how to develop Web applications using the Django framework. Students will explore the basics of creating basic applications using the MVC (model-view-controller) design pattern, as well as more advanced topics such as administration, session management, authentication, and automated testing. This comprehensive, practical course provides an in-depth exploration of working with the programming language, not an academic overview of syntax and grammar. Students will immediately be able to use Python to complete tasks in the real world. The Python Environment Starting Python Using the interpreter Running a Python script Getting help Editors and IDEs Getting Started Using variables Built in functions Strings Numbers Converting among types Writing to the screen Command line parameters Flow Control About flow control Conditional expressions Relational and Boolean operators while loops Lists and Tuples About sequences Lists and list methods Tuples Indexing and slicing Iterating through a sequence Sequence functions, keywords, and operators List comprehensions Working with Files File overview The with statement Opening a file Reading/writing files Dictionaries and Sets About dictionaries Creating and using dictionaries About sets Creating and using sets Functions Returning values Function parameters Variable Scope Sorting with functions Errors and Exception Handling Exception overview Using try/catch/else/finally Handling multiple exceptions Ignoring exceptions Modules and Packages Creating Modules The import statement Module search path Creating packages Classes About OO programming Defining classes Constructors Properties Instance methods and data Class/static methods and data Inheritance Django Architecture Django overview Sites and apps Shared configuration Minimal Django layout Built in flexibility Configuring a Project Executing manage.py Starting the project Generating app files App configuration Database setup The development server Using cookiecutter Creating models Defining models Related objects SQL Migration Simplel model access Login for Nothing and Admin for Free Setting up the admin user Using the admin interface Views What is a view HttpResponse URL route configuration Shortcut: get_object_or_404() Class-based views Templates About templates Variable lookups The url tag Shortcut: render() Querying Models QuerySets Field lookups Chaining filters Slicing QuerySets Related fields Q objects Advanced Templates Use Comments Inheritance Filters Escaping HTML Custom filters Forms Forms overview GET and POST The Form class Processing the form Widgets Validation Forms in templates Automated Testing Why create tests? When to create tests Using Django's test framework Using the test client Running tests Checking code coverage
Duration 3 Days 18 CPD hours This course is intended for This course is intended for application administrators, developers, IT leaders, and application architects. Overview As a result of attending this course, students should be able to configure, secure, and manage a Red Hat JBoss AMQ 7.0 broker to create and integrate message-driven applications. Red Hat© AMQ Administration (AD440) helps system administrators, architects, and developers acquire the skills they need to administer the message broker, Red Hat JBoss AMQ. Through numerous hands-on exercises, the student will create, configure, manage, and monitor broker instances including hardened, clustered brokers that provide high availability and failover. This course is based on Red Hat JBoss AMQ 7.0. Red Hat JBoss AMQ, part of the Red Hat application integration suite, provides application administrators, software architects, and developers the ability to integrate disparate applications in a decoupled manner using enterprise messaging paradigms. Providing a highly performant and robust message broker, router, and client libraries for numerous languages, Red Hat JBoss AMQ is the solution for asynchronous and synchronous messaging. Red Hat AMQ Administration (AD440) helps system administrators, architects, and developers acquire the skills they need to administer Red Hat JBoss AMQ. Through numerous hands-on exercises, the student will create, configure, manage, and monitor broker instances including hardened, clustered brokers that provide high availability and failover. Course introduction Introduce and review the course. Install the broker Install JBoss AMQ, create a broker instance, and verify connectivity to the instance. Configuration Configure message addresses and queues. Secure access to the broker Configure authentication, authorization, and encryption on the broker. Configure broker persistence Configure zero, file-based, and database-backed persistence. Manage broker resource consumption Configure the broker to limit memory and other resource consumption. Implement broker clustering, high availability, and failover Create a scalable and highly available cluster of brokers. Monitor and manage the broker Monitor and manage broker resources using logging and the web console. Route messages to brokers Install JBoss AMQ interconnect and configure routes to brokers. Comprehensive review of Red Hat AMQ administration Configure Red Hat JBoss AMQ brokers and verify proper operation.
Duration 4 Days 24 CPD hours This course is intended for This course is designed for technical professionals who require the skills to administer IBM© MQ queue managers on distributed operating systems, in the Cloud, or on the IBM© MQ Appliance. Overview Describe the IBM© MQ deployment optionsPlan for the implementation of IBM© MQ on-premises or in the CloudUse IBM© MQ commands and the IBM© MQ Explorer to create and manage queue managers, queues, and channelsUse the IBM© MQ sample programs and utilities to test the IBM© MQ networkEnable a queue manager to exchange messages with another queue managerConfigure client connections to a queue managerUse a trigger message and a trigger monitor to start an application to process messagesImplement basic queue manager restart and recovery proceduresUse IBM© MQ troubleshooting tools to identify the cause of a problem in the IBM© MQ networkPlan for and implement basic IBM© MQ security featuresUse accounting and statistics messages to monitor the activities of an IBM© MQ systemDefine and administer a simple queue manager cluster This course provides technical professionals with the skills that are needed to administer IBM© MQ queue managers on distributed operating systems and in the Cloud. In addition to the instructor-led lectures, you participate in hands-on lab exercises that are designed to reinforce lecture content. The lab exercises use IBM© MQ V9.0, giving you practical experience with tasks such as handling queue recovery, implementing security, and problem determination. Describe the IBM© MQ deployment optionsPlan for the implementation of IBM© MQ on-premises or in the CloudUse IBM© MQ commands and the IBM© MQ Explorer to create and manage queue managers, queues, and channelsUse the IBM© MQ sample programs and utilities to test the IBM© MQ networkEnable a queue manager to exchange messages with another queue managerConfigure client connections to a queue managerUse a trigger message and a trigger monitor to start an application to process messagesImplement basic queue manager restart and recovery proceduresUse IBM© MQ troubleshooting tools to identify the cause of a problem in the IBM© MQ networkPlan for and implement basic IBM© MQ security featuresUse accounting and statistics messages to monitor the activities of an IBM© MQ systemDefine and administer a simple queue manager cluster
Duration 4 Days 24 CPD hours This course is intended for This intermediate course is designed for technical support personnel who implement, operate, and perform day-to-day administration of IBM MQ V8 on z/OS. Overview Describe message-oriented middleware and the capabilities it must provideIdentify the key components of IBM MQ for z/OSSummarize the responsibilities of the IBM MQ administratorConfigure IBM MQ IBM V8 for z/OSEnable IBM MQ for z/OS eight-byte RBA and buffers above 2 GBDemonstrate how to create and change queues and place and retrieve messages from a queueDefine and demonstrate how to set up and work with distributed queuingDifferentiate between an IBM MQ queue manager and an IBM MQ clientDescribe and demonstrate how to set up an IBM MQ clusterContrast point-to-point and publish/subscribe messaging stylesDescribe shared queues and queue sharing groupsSummarize IBM MQ for z/OS recovery and restart activitiesDemonstrate how to use IBM MQ events for monitoringSummarize performance considerationsDescribe security considerations for IBM MQ for z/OSDescribe and implement connection authentication and channel authorizationIdentify correct problem determination techniques for IBM MQ for z/OSSummarize basic use and configuration of IBM MQ Managed File TransferDescribe IBM MQ support for CICS and IMS interfaces This course provides the skills that are necessary to configure and manage an IBM MQ V8 queue manager on z/OS. Through lectures and hands-on lab exercises, students learn how to install, customize, operate, and administer IBM MQ V8. Course Outline Course introduction IBM MQ review IBM MQ architecture, installation, and configuration Exercise: Configuring an IBM MQ for z/OS queue manager IBM MQ for z/OS administrative interface options Exercise: Working with queues Distributed queuing Exercise: Working with channels IBM MQ clients Exercise: Working with IBM MQ clients IBM MQ cluster basics Exercise: Working with IBM MQ clusters Publish/subscribe basics Exercise: Publish/subscribe basics Queue sharing groups Using IBM MQ events and the dead-letter queue utility Exercise: Working with IBM MQ events Security considerations Exercise: Security Problem determination IBM MQ Managed File Transfer Exercise: IBM MQ Managed File Transfer configuration for z/OS IBM MQ for z/OS backup, recovery, and related file tasks Exercise: Working with file handling utilities Support for CICS, IMS, and HTTP applications Course summary
Duration 5 Days 30 CPD hours This course is intended for This is an introductory- level Java programming course, designed for experienced developers who wish to get up and running with JEE, or who need to reinforce sound Java for Web / JEE coding practices. Attendees should have a working knowledge of developing basic Java software applications. Overview Students who attend Mastering JEE Web Application Development will leave the course armed with the required skills to design and build scalable, secure, maintainable web applications - leveraging our extensive experience in the delivery of scalable enterprise applications with complex web interfaces based on JEE technologies. Throughout this training, you will be confronted with common web application design problems and given the tools you will need to solve them, such as JEE design patterns. You will also be exposed to a range of JEE and web technologies such as Servlets, JSPs, JSF, JNDI, CDI and advice on when and how to use them. Students will also learn about the capabilities of servlets, their advantages, servlet architecture, and session management. Developers will also learn about managing resources, deployment, and application models, how to use custom tags, and how to build robust and capable web applications using servlets and other components. The course begins with a discussion of web application architecture. A major part of the course is spent on the various web components that are used to implement dynamic web applications. Students will learn not only specific topics and APIs but also how to fit the pieces together into a complete application. Working within in an engaging, hands-on learning environment, guided by our expert team, attendees will learn to: Design and build web applications from both business and technical requirements Build web interfaces with JSF, JSPs and Servlets, using the latest technologies in JEE. Write maintainable web applications that separate HTML and Java Understand the design and development of web applications using Servlets, JSPs, web fragments, and JSF Work JEE's version of dependency injection (CDI) Make Servlets cooperate and share data Store and process session information Deal with concurrency issues Access databases with JPA Work with annotations included in JEE Work with WebSockets as well as asynchronous servlets Use Java Bean validation in a web application Properly handle various types of exceptions This course is for experienced Java developers who are new to JEE and need to get up and running with essential dynamic web development skills. You will gain core JEE knowledge and skills that can be used as the foundation for developing production-quality web applications to a basic level. Developing Java EE applications Enterprise Development Java EE Core Components JEE Dynamic Web Applications Introduction to Servlets Form processing using Servlets Java Server Pages Implementing MVC in JEE Session Management JEE Servlet Filters and Listeners Servlet Filters Expression Language 3.0 (EL) Overview of EL The EL language Custom Tags Introduction to Custom Tags The Java Standard Tag Library Contexts and Dependency Injection (CDI) Introduction to CDI Using CDI CDI and Java EE Using Resources JEE DataSources Overview of JPA Java API for WebSocket Introduction to WebSocket Implementing WebSocket Endpoint Extending WebSockets Java Bean Validation (JSR 349) Introduction to Bean Validation Bean Validation Managing Web Applications Web Fragments Error Handling Asynchronous Servlets Web Security Introduction to Java Server Faces Introduction to JSF JSF Components Facelets Facelets Facelets Templating and Resources Additional course details: Nexus Humans Mastering JEE Web Development (TT5100) training program is a workshop that presents an invigorating mix of sessions, lessons, and masterclasses meticulously crafted to propel your learning expedition forward. This immersive bootcamp-style experience boasts interactive lectures, hands-on labs, and collaborative hackathons, all strategically designed to fortify fundamental concepts. Guided by seasoned coaches, each session offers priceless insights and practical skills crucial for honing your expertise. Whether you're stepping into the realm of professional skills or a seasoned professional, this comprehensive course ensures you're equipped with the knowledge and prowess necessary for success. While we feel this is the best course for the Mastering JEE Web Development (TT5100) course and one of our Top 10 we encourage you to read the course outline to make sure it is the right content for you. Additionally, private sessions, closed classes or dedicated events are available both live online and at our training centres in Dublin and London, as well as at your offices anywhere in the UK, Ireland or across EMEA.
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