![]() |
C++ Programming for
Non-C Programmers
| Duration: 5 days |
| Participants: Technical users, applications programmers, and systems programmers. |
|
Objectives:
Upon successful completion of this course you will be able to:
- Discuss the basic structure and syntax of the C++ Programming Language. - Code object oriented C++ programs using all available control structures. - Compile and execute C++ programs in various environments. - Handle input/output processing using the standard C++ stream classes. - Define encapsulation, inheritance, and polymorphism. - Declare and use basic and derived data types. - Effectively use arrays, pointers, and references within a C++ program. - Create data abstractions through the use of classes. - Use operator and function overloading. - Share and restrict object members. - Define and use constructors and destructors. - Dynamically create and destroy space. - Increase software reusability through inheritance. - Use dynamic binding and virtual functions. |
| Overview: This course provides experienced programmers with the ability to utilize the structure and syntax of the object oriented C++ programming language for commercial and systems programming applications. The student is prepared to code, test, and execute C++ programs making use of the facilities provided by the language. Previous knowledge of the C Programming Language is not required. |
|
Prerequisites:  - Experience and working knowledge of another high level programming language. - Knowledge of one of the program editors for the development environment used for the exercise sessions. - An understanding of object oriented programming concepts is helpful. |
| Format: Lecture and discussion with hands-on exercises. |
|
Topic Outline:
- Introduction Features of C++ History and Origin of C++ Advantages of C++ C++ Compilation Process Basic Functions - C++ Basics Comments Identifier Naming Rules Reserved Keywords and Modifiers Basic Data Representation Constants and Variables Input/Output Streams - Expressions and Operators Expressions Basic Operators Assignment Arithmetic Compound Assignment Operator Precedence and Associativity - Statements Flow Control if switch break continue while do-while for goto More Operators Relational and Equality Logical Conditional - Functions Function Definition Function Declaration (prototype) Reference Parameters Default Argument Values Function Overloading Inline Functions Type Safe Linkage Name Mangling Combining C and C++ Functions - Arrays and Strings Defining and Using Arrays Two Dimensional Arrays Processing Character Strings Passing Arrays to Functions - Pointers Defining a Pointer Declaring and Using Pointers Functions and Pointers Pointers and Arrays - Pointers Revisited Brief Review of Pointers Arrays of Pointers Accessing Command Line Arguments - Object Oriented Concepts Features of Object Oriented Languages Procedural vs Object Oriented Encapsulation Inheritance Polymorphism Effects of OO Approach - Classes and Encapsulation Definition of Class Class Data Members Class Member Functions Private vs Public Members - Constructors and Destructors Class Constructors Constructors with Parameters Overloaded Constructors Internal and External Constructors Class Destructors Dynamic Memory Allocation new Operator delete Operator Pointers to Classes this Pointer Function and Class Friends Copy Constructors Avoiding Memory Leaks - I/O Streams Standard I/O Streams Reading Input with cin Writing Output with cout Writing Errors with cerr Other I/O Class Member Functions get put write Simple File I/O State Checking Member Functions Opening File Streams Closing File Streams Reading and Writing Files - Overloading Operators Valid Operators Overloading Operators Overloading Binary Operators Overloading Unary Operators Friend Operator Functions Non-Member Operator Functions - Inheritance Software Reusability Concept and Terminology Uses and Advantages Base and Derived Classes Class Access Modifiers public private protected Single Inheritance Multiple Inheritance Constructors and Destructors Containment - Polymorphism Polymorphism Types of Binding Static Dynamic Virtual Functions Rules for Dynamic Binding Pure Virtual Functions |
|
|