Advanced C++ Programming Workshop (With C++11, C++14, C++17) & Design Patterns

Similar documents
C++ for System Developers with Design Pattern

Preface to the Second Edition Preface to the First Edition Brief Contents Introduction to C++ p. 1 A Review of Structures p.

Object Oriented Programming with c++ Question Bank

The Foundation of C++: The C Subset An Overview of C p. 3 The Origins and History of C p. 4 C Is a Middle-Level Language p. 5 C Is a Structured

Absolute C++ Walter Savitch

Short Notes of CS201

CS201 - Introduction to Programming Glossary By

Cpt S 122 Data Structures. Course Review Midterm Exam # 2

CHAPTER 1 Introduction to Computers and Programming CHAPTER 2 Introduction to C++ ( Hexadecimal 0xF4 and Octal literals 031) cout Object

Welcome to Teach Yourself Acknowledgments Fundamental C++ Programming p. 2 An Introduction to C++ p. 4 A Brief History of C++ p.

C++ (Non for C Programmer) (BT307) 40 Hours

OBJECT ORIENTED PROGRAMMING USING C++

Tokens, Expressions and Control Structures

Object Oriented Programming

RAJIV GANDHI COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF INFORMATION TECHNOLOGY OBJECT ORIENTED PROGRAMMING QUESTION BANK UNIT I 2 MARKS

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR

Introduction to Programming Using Java (98-388)

Appendix. Grammar. A.1 Introduction. A.2 Keywords. There is no worse danger for a teacher than to teach words instead of things.

W3101: Programming Languages C++ Ramana Isukapalli

Introduction to C++ Systems Programming

Problem Solving with C++

Preface... (vii) CHAPTER 1 INTRODUCTION TO COMPUTERS

JAYARAM COLLEGE OF ENGINEERING AND TECHNOLOGY Pagalavadi, Tiruchirappalli (An approved by AICTE and Affiliated to Anna University)

Object oriented programming. Encapsulation. Polymorphism. Inheritance OOP

Jayaram college of Engineering and Technology, Pagalavadi. CS2203 Object Oriented Programming Question Bank Prepared By: S.Gopalakrishnan, Lecturer/IT

Contents. 2 Introduction to C++ Programming,

Chapter 15 - C++ As A "Better C"

KLiC C++ Programming. (KLiC Certificate in C++ Programming)

CS 6456 OBJCET ORIENTED PROGRAMMING IV SEMESTER/EEE

Syllabus of C++ Software for Hands-on Learning: This course offers the following modules: Module 1: Getting Started with C++ Programming

Learning Objectives. C++ For Artists 2003 Rick Miller All Rights Reserved xli

index C++ language characters ASCII codes, 16 escape sequence, 19 trigraph sequence, 18 UCS codes, 17 Unicode, 17 classes, 7 code presentation styles,

Variables. Data Types.

Study Guide to Exam 2

Basic Types, Variables, Literals, Constants

Computer Science 306 Study Guide

I BCS-031 BACHELOR OF COMPUTER APPLICATIONS (BCA) (Revised) Term-End Examination. June, 2015 BCS-031 : PROGRAMMING IN C ++

Cpt S 122 Data Structures. Course Review FINAL. Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University

IBM i Version 7.2. Programming IBM Rational Development Studio for i ILE C/C++ Language Reference IBM SC

C++11/14 Rocks. Clang Edition. Alex Korban

MaanavaN.Com CS1203 OBJECT ORIENTED PROGRAMMING DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

CPSC 427: Object-Oriented Programming

University of Technology. Laser & Optoelectronics Engineering Department. C++ Lab.

dewhurst_index.qxd 10/16/02 1:54 PM Page 309 Index

OBJECT ORIENTED PROGRAMMING USING C++ CSCI Object Oriented Analysis and Design By Manali Torpe

Contents. 1 Introduction to Computers, the Internet and the World Wide Web 1. 2 Introduction to C Programming 26

CS3157: Advanced Programming. Outline

cs3157: c++ lecture #2 (mon-11-apr-2005) chronology of some programming languages... C++ vs Java identifiers.

VALLIAMMAI ENGINEERING COLLEGE

CERTIFICATE IN WEB PROGRAMMING

Contents. Figures. Tables. Examples. Foreword. Preface. 1 Basics of Java Programming 1. xix. xxi. xxiii. xxvii. xxix

IBM i Version 7.3. Programming IBM Rational Development Studio for i ILE C/C++ Language Reference IBM SC

Get Unique study materials from

C++ Primer, Fifth Edition

Design Pattern. CMPSC 487 Lecture 10 Topics: Design Patterns: Elements of Reusable Object-Oriented Software (Gamma, et al.)

An Object Oriented Programming with C

Introduction to Programming

Introduction to C++ Professor Hugh C. Lauer CS-2303, System Programming Concepts

Fast Introduction to Object Oriented Programming and C++

CSCI 253. Overview. The Elements of a Design Pattern. George Blankenship 1. Object Oriented Design: Iterator Pattern George Blankenship

Dr. Md. Humayun Kabir CSE Department, BUET

2. COURSE DESIGNATION: 3. COURSE DESCRIPTIONS:

10CS36: Object Oriented Programming with C++

Deitel Series Page How To Program Series

C++ How To Program 10 th Edition. Table of Contents

ME240 Computation for Mechanical Engineering. Lecture 4. C++ Data Types

Course Text. Course Description. Course Objectives. StraighterLine Introduction to Programming in C++

Borland 105, 278, 361, 1135 Bounded array Branch instruction 7 break statement 170 BTree 873 Building a project 117 Built in data types 126

SDC Design patterns GoF

CS 162, Lecture 25: Exam II Review. 30 May 2018

Interview Questions of C++

Object Oriented Programming. Assistant Lecture Omar Al Khayat 2 nd Year

Object Oriented Methods with UML. Introduction to Design Patterns- Lecture 8

B.C.A 2017 OBJECT ORIENTED PROGRAMMING USING C++ BCA303T MODULE SPECIFICATION SHEET

Paytm Programming Sample paper: 1) A copy constructor is called. a. when an object is returned by value


Axivion Bauhaus Suite Technical Factsheet AUTOSAR

Real Time & Embedded Linux Solutions. C++ and OOD for Embedded Systems. משך הקורס 40 שעות לימוד ותרגול בשיטת Hands-on-Training

UNIT I Introduction to Design Patterns

I BSc(IT) [ Batch] Semester II Core: Object Oriented Programming With C plus plus - 212A Multiple Choice Questions.

EPL 603 TOPICS IN SOFTWARE ENGINEERING. Lab 6: Design Patterns

Instantiation of Template class

Intro to OOP Visibility/protection levels and constructors Friend, convert constructor, destructor Operator overloading a<=b a.

Chapters and Appendices F J are PDF documents posted online at the book s Companion Website, which is accessible from.

Practical C++ Programming

Lesson Plan. Subject: OBJECT ORIENTED PROGRAMMING USING C++ :15 weeks (From January, 2018 to April,2018)

Overload Resolution. Ansel Sermersheim & Barbara Geller Amsterdam C++ Group March 2019

EEE145 Computer Programming

Syllabus for Bachelor of Technology. Computer Engineering. Subject Code: 01CE1303. B.Tech. Year - II

A few important patterns and their connections

Plan. A few important patterns and their connections. Singleton. Singleton: class diagram. Singleton Factory method Facade

Design Patterns. SE3A04 Tutorial. Jason Jaskolka

Increases Program Structure which results in greater reliability. Polymorphism

Overload Resolution. Ansel Sermersheim & Barbara Geller ACCU / C++ June 2018

C++ Programming: Polymorphism

Produced by. Design Patterns. MSc in Communications Software. Eamonn de Leastar

Chapter 02 Building Multitier Programs with Classes

TDDB84. Lecture 2. fredag 6 september 13

Design Patterns. Manuel Mastrofini. Systems Engineering and Web Services. University of Rome Tor Vergata June 2011

CHOICE BASED CREDIT SYSTEM (With effect from )

Transcription:

Advanced C++ Programming Workshop (With C++11, C++14, C++17) & Design Patterns This Advanced C++ Programming training course is a comprehensive course consists of three modules. A preliminary module reviews topics, including inheritance, the ANSI C++ Standard Library, templates. I/O streams, and practical issues of C++ programming, such as reliability, testing, efficiency and interfacing to C. We have also included new C++ 11,14,17 additions at the respective topics. A preliminary module reviews topics, including inheritance, the ANSI C++ Standard Library, templates. I/O streams, and practical issues of C++ programming, such as reliability, testing, efficiency and interfacing to C. The second module covers advanced C++ Programming issues of inheritance and polymorphism and the principles of effective class design. The third module introduces the Standard Template Library (STL). Duration : 5 full days Detailed Table of Content Concepts of Object Oriented Programming Basics Object Oriented Design Concepts Benefits of Object Oriented Programming Applications of Object Oriented Programming Basic Concepts Basics Object Oriented Design Concepts Types - Fundamental types Object - Scope Lifetime Memory model Operators

sizeof - alignof(c++11) typeid new delete Operator precedence Literals boolean - integer - floating character - string C++ 11 additions nullptr (C++11) user-defined (C++11) const/volatile - constexpr(c++11) decltype(c++11) auto(c++11) alignas(c++11) typedef - Type alias(c++11) Attributes(C++11) static_assert(c++11) Initialization Default initialization Value initialization(c++03) Copy initialization Direct initialization Aggregate initialization List initialization(c++11) Reference initialization Constant initialization Functions Function overloading Default arguments

Choosing Between Default Values and Overloaded Functions Variadic arguments Lambda expression(c++11) inline specifier Returning Values by Reference Passing by Reference for Efficiency Passing a const Pointer References as an Alternative const References Mixing References and Pointers Implementing Classes and Objects Concepts of Classes and Objects, Implementing Class and objects Access Specifies Concept of Public, Private Static variables and member functions Constant Member functions Dynamic Objects and Pointer to Member functions Implementation and hands on session Static members of a Class Static data members Static member functions A discussion on Singleton pattern Constructors and Destructors Usage of Constructors Multiple Constructors, concept of copy-constructor Default Constructor Destructors const Member Functions Implementation and hands on session

Implementing Inheritance Concept and need for Derived classes Private, Protected & Public Inheritance Implementing Single, Multiple, Multilevel Inheritance Role of constructors and destructors in inheritance Passing Arguments to Base Constructors Inheritance and constructor: base class Inheritance and constructor: derived class Inheritance and copy constructor: base class Inheritance and copy constructor: derived class Inheritance and destructor: base class Inheritance and destructor: derived class Passing Arguments to Base Constructors Implementation and hands on session Polymorphism Operator Overloading Concept of Operator Overloading Overloading of binary, unary, and other operators Rules of Operator Overloading Conversion operators this Pointer, pointer to objects Runtime Polymorphism, Virtual Functions & Dynamic Binding Pointers & Classes Pointers to Class Members Method overriding Base class pointers & derived class objects Concept of Virtual Functions Virtual functions & base class pointers Virtual functions & base class reference Dynamic Binding v/s Early Binding

Pure virtual functions Virtual destructors Abstract Class( pure Virtual Functions) Friend Communication or bridging between diff. classes Friend Classes Friend Functions Exception Handling in C++ What are Exceptions Handling Exceptions in C++ - try, catch, throw Rethrow Exception vs function calls Exception Specification. Function try Block Uncaught exceptions Unexpected exceptions The terminate( ) function Implementation and hands on session noexcept specifier(c++11) noexcept operator(c++11) Namespaces Handling scopes Nested namespaces Avoiding name mangling Anonymous namespaces The Casting operators Typeid() const_cast

static_cast reinterpret_cast dynamic_cast C++ I/O Streams Introduction to Streams C++ Stream Classes I/O operations using iostreams Using cin.ignore() peek() and putback() Output with cout Flushing the Output Manipulators, Flags, and Formatting Instructions Using cout.width() Setting the Fill Characters Set Flags Concepts of Templates Implementing Template functions and classes Templates with Exception Handling Typename Class Template Member Specialization Template Parameters Member Templates explicit instantiation Variable template(c++14) Template argument deduction template Specialization Explicit specialization Partial specialization Parameter packs(c++11) - sizeof...(c++11) Fold-expessions(C++17)

Dependent names SFINAE File Handling Definition of file File handling in C++ Doing read, write operation in files New Additions in C++ C++ 11 additions C++ 14 additions C++ 17 additions The Standard Library (STL) - Introducing the Standard Template Library STL containers STL algorithms STL iterators Design Patterns in C++ Creational Patterns Abstract Factory Builder Factory Type Prototype Singleton Structural Patterns Adapter Bridge Composite Decorator Fac ade

Flyweight Proxy Behavioral Patterns Chain of Responsibility Command Interpreter Iterator Mediator Memento Observer State Statergy Template Method Visitor * * * * * * * *