In this C++ programming tutorial we will look at compiling and preprocessor directives. Whenever a CPP program is compiled then the following steps are taken: More »
Before you start this C++ programming tutorial on RTTI, dynamic_cast, typeid and type_info,
make sure you fully understand the previous tutorial on static_cast, const_cast and reinterpret_cast.
Runtime Type Information (RTTI)
Runtime Type Information (RTTI) is the concept of determining the type of any variable during execution (runtime.) The RTTI mechanism contains: More »
Typecasting is the concept of converting the value of one type into another type. For example, you might have a float that you need to use in a function that requires an integer.
Almost every compiler makes use of what is called automatic typecasting. It automatically converts one type into another type. If the compiler converts a type it will normally give a warning. For example this warning: conversion from ‘double’ to ‘int’, possible loss of data. More »
Exceptions are situations which must be avoided during program executions. Exceptions are caused by errors, invalid inputs or invalid processing. Exceptions can lead to either program termination or generating unexpected outputs.
In general, it is assumed that exceptions are errors but this is not always true. We can state: More »
Before you start reading this C++ tutorial on polymorphism you should have a good understanding of class inheritance and pointers.
Introduction to Polymorphism
Polymorphism is by far the most important and widely used concept in object oriented programming. Some of the widely used technologies and libraries like COM, MFC etc. have polymorphism as their foundation. If you look at all the original design patterns, almost every pattern uses polymorphism in its structure. More »
Posted in C++ Tutorials | Comments Off on C++ Polymorphism and Abstract Base Class
C++ templates are a powerful mechanism for code reuse, as they enable the programmer to write code that behaves the same for data of any type. So we can view templates as molds which can create many shapes of similar types with any type of material filled into them.
Templates are also known as generic functions or classes which are used to implement a generic structure for many structures of the same statements with different data-types. More »
In the last C++ programming tutorial we looked at inheritance. In this C++ programming tutorial we will take a look at C++ friendship.
A C++ friend functions are special functions which can access the private members of a class. They are considered to be a loophole in the Object Oriented Programming concepts, but logical use of them can make them useful in certain cases. More »
Inheritance is a concept of linking two or more classes with each other in a hierarchical manner so that their properties and functions can be shared. (One class will extend to another class.) This leads to the biggest advantage of re-usability of the members and avoids redundancy.
Inheritance leads to various issues such as: More »
We hope that you enjoyed our previous tutorial on C++ overloading. Today we take another look at operator overloading in the C++ programming language.
Unary and binary operator overloading
There are two types of operator overloading: More »
In the C++ programming language overloading is used for performing more than one task using the same function or operator. For overloading of the functions we create two or more definitions of one function name.
Take a look at an example: More »