Cocktail Sort Algorithm or Shaker Sort Algorithm

In this tutorial we look at another sorting algorithm named cocktail sort. Cocktail sort is a slight variation of bubble sort. More »

Posted in Programming Algorithms | 2 Comments

A New Look and Conversion

Just a short message. All the people that have visited this site before may already noticed the new look. We converted the static html site to a wordpress site. This will make things easier for us to add new tutorials. If you find something wrong then please leave a comment on the page or contact us.

Posted in Website News | Comments Off on A New Look and Conversion

C++ Preprocessor Directives

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 »

Posted in C++ Tutorials | 3 Comments

C++ Typecasting Part 2 – RTTI, dynamic_cast, typeid and type_info

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 »

Posted in C++ Tutorials | 10 Comments

C++ Typecasting Part 1

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.

Implicit conversion

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 »

Posted in C++ Tutorials | 6 Comments

C++ Exceptions and exception handling

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 »

Posted in C++ Tutorials | 2 Comments

C++ Polymorphism and Abstract Base Class

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

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 »

Posted in C++ Tutorials | 1 Comment

C++ Friend function and Friend class

In the last C++ programming tutorial we looked at inheritance. In this C++ programming tutorial we will take a look at C++ friendship.

Friend Functions

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 »

Posted in C++ Tutorials | 37 Comments

C++ Inheritance

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 »

Posted in C++ Tutorials | 33 Comments