C++ is a general-purpose object-oriented programming (OOP)
language, developed by Bjarne Stroustrup, and is an extension of the C
language. It is therefore possible to code C++ in a "C style" or
"object-oriented style." In certain scenarios, it can be coded in
either way and is thus an effective example of a hybrid language.
Real-World Applications of
C++
1. Games:
C++ overrides the complexities of 3D games, optimizes resource
management and facilitates multiplayer with networking. The language is
extremely fast, allows procedural programming for CPU intensive functions and
provides greater control over hardware, because of which it has been widely
used in development of gaming engines. For instance, the science fiction game
Doom 3 is cited as an example of a game that used C++ well and the Unreal
Engine, a suite of game development tools, is written in C++.
2. Graphic User Interface (GUI) based
applications:
Many highly used
applications, such as Image Ready, Adobe Premier, Photoshop and Illustrator,
are scripted in C++.
3. Web Browsers:
With the introduction of specialized languages such as PHP and
Java, the adoption of C++ is limited for scripting of websites and web
applications. However, where speed and reliability are required, C++ is still
preferred. For instance, a part of Google’s back-end is coded in C++, and the
rendering engine of a few open source projects, such as web browser Mozilla
Firefox and email client Mozilla Thunderbird, are also scripted in the
programming language.
4. Advance Computations and Graphics:
C++ provides the means for building applications requiring
real-time physical simulations, high-performance image processing, and mobile
sensor applications. Maya 3D software, used for integrated 3D modeling, visual
effects and animation, is coded in C++.
5. Database Software:
C++ and C have been used for scripting MySQL, one of the most
popular database management software. The software forms the backbone of a
variety of database-based enterprises, such as Google, Wikipedia, Yahoo and
YouTube etc.
6. Operating Systems:
C++ forms an integral part of many of the prevalent operating
systems including Apple’s OS X and various versions of Microsoft Windows, and
the erstwhile Symbian mobile OS.
7. Enterprise Software:
C++ finds a purpose in banking and trading enterprise
applications, such as those deployed by Bloomberg and Reuters. It is also used
in development of advanced software, such as flight simulators and radar
processing.
8. Medical and Engineering Applications:
Many advanced medical equipments, such as MRI machines, use C++
language for scripting their software. It is also part of engineering
applications, such as high-end CAD/CAM systems.
9. Compilers:
A host of
compilers including Apple C++, Bloodshed Dev-C++, Clang C++ and MINGW make use
of C++ language. C and its successor C++ are leveraged for diverse software and
platform development requirements, from operating systems to graphic designing
applications. Further, these languages have assisted in the development of new
languages for special purposes like C#, Java, PHP, Verilog etc.
C++
Syllabus:-
C++
Characteristics
Object-Oriented
Terminology
Polymorphism
Object-Oriented
Paradigm
Abstract
Data Types
I/O
Services
Standard
Template Library
Standards
Compliance
Functions and Variables
Functions:
Declaration and Definition
Variables:
Definition, Declaration, and Scope
Variables:
Dynamic Creation and Derived Data
Arrays
and Strings in C++
Qualifiers
Classes in C++
Defining
Classes in C++
Classes
and Encapsulation
Member
Functions
Instantiating
and Using Classes
Using
Constructors
Multiple
Constructors and Initialization Lists
Using
Destructors to Destroy Instances
Friendship
Operator Overloading
Operator
Overloading
Working
with Overloaded Operator Methods
Initialization and Assignment
Initialization
vs. Assignment
The
Copy Constructor
Assigning
Values
Specialized
Constructors and Methods
Constant
and Static Class Members
Storage Management
Memory
Allocation
Dynamic
Allocation: new and delete
Inheritance
Overview
of Inheritance
Defining
Base and Derived Classes
Constructor
and Destructor Calls
Polymorphism
Overview
of Polymorphism
Input and Output in C++ Programs
Standard
Streams
Manipulators
Unformatted
Input and Output
File
Input and Output
Exceptions
Exceptions
Inheritance
and Exceptions
Exception
Hierarchies
Inside
an Exception Handler
Templates
Template
Overview
Customizing
a Templated Method
Standard
Template Library Containers