C++ Refresher - Part One

This article is about the ways in which C# and C++ are similar and where these languages differ. You are familiar with the concepts of OOP language. You may have already studied one such language, called C#. If not, then there is no problem.

In this session, you will learn about:

  • Variables and data types
  • Storing data in a variable and displaying data on the screen
  • Creating and executing a C++ program
  • Classes in C++
  • Member functions
Before we start the session, let us revisit the features of Object-Oriented Programming (OOP) language.

oop

In order to perform a specific task on a computer, you need to write a set of instructions known as a program. While creating a program, you may need to temporarily store some values by using variables.

Variables and Data Types

The syntax to declare a variable is:
  • <data type><variable name>;
Examples:
  • int num1;
  • char chr;
Data types can be categorized into the following types:

type

The following table lists the common built-in data types used in C++ and C#.

 Data Type Number of Bytes in C++ Number of Bytes in C#
 char 1    2
 int 2 or 4 4
 float 4 4
 double 8 8

data type

The data type equivalent to string in C++ is a character array.

The following table shows the use of a string variable and a character array.

 C# C++
 string str = “India”; char str[] = “India”;
 


area

Let us see how these objects are used in C++


In C++, we use predefined objects to store and display data.

data

Storing Data in a Variable and Displaying Data on the screen
  1. #include<iostream.h>  
  2. int num1, num2, sum;  
  3. cout<<“Enter number 1”<<endl;  
  4. cin>>num1;  
  5. cout<<“Enter number 2”<<endl;  
  6. cin>>num2;  
  7. sum = num1 + num2;  
  8. cout<<“The sum is:”<<sum;  
header

Once you have created a C++ program, you need to compile and execute it. Let us now compile and execute a C++ program,
  • Similar to C#, a C++ program must contain the main() function. 
  • C++ is not a pure object-oriented language like C#. 
  • Therefore, you can create a program in C++ without using a class as in the following code:
    1. #include < iostream.h >  
    2.     void main()  
    3.     {  
    4.         int num1, num2, sum;  
    5.         cout << “Enter number1” << endl;  
    6.         cin >> num1;  
    7.         cout << “Enter number2” << endl;  
    8.         cin >> num2;  
    9.         sum = num1 + num2;  
    10.         cout << “The sum is: ” << sum;  
    11.     }  
Classes in C++

Object-oriented programming languages, such as C# and C++, use classes to group objects having common attributes.
  • A class is declared by using the class keyword.
  • The syntax of a class in C++ is:
class<class_name>
{
...
};

In C#, a program cannot be created without a class. However, in C++ you can create a program with/without a class.

A class consists of:
  • Attributes: Represented using member variables
  • Behaviors: Represented using member functions

Member Functions

Functions

A function consists of the following parts:
  • Declaration: Syntax for declaring a function:
<return type><function name><function parameters>;
  • Definition: Syntax for defining a function:
<return type><function name><function parameters>
{
... }

member

The following table shows the use of member functions in C# and C++.

 C# (function declared and defined inside the class body)C++ (function declared and defined inside the class body) 
 
C++ (function declared inside and defined outside the class body)
 
  1. class Sum  
  2. {  
  3.     public void Add()  
  4.   {  
  5.         //Function Body  
  6.     }  
  1. class Sum   
  2. {  
  3.     void Add()  
  4.   {  
  5.         //Function Body  
  6.     }  
  7. }; 
 
  1. class Sum  
  2. {  
  3.     void Add(); //Declaration  
  4. };  
  5. void Sum::Add() //Definition  
  6.     {  
  7.         //Function Body  
  8.     }  


Now, let us see how the same function can be modified to accept the numbers as arguments. Consider the following code snippet in which the Add() function accepts two numbers from a user and adds them:
  1. class Sum  
  2. {  
  3.     void Add(); //Declare the member function  
  4. };  
  5. void Sum::Add() //Defining the member function  
  6.     {  
  7.         int num1, num2, sum;  
  8.         cout << “Enter number 1” << endl;  
  9.         cin >> num1;  
  10.         cout << “Enter number 2” << endl;  
  11.         cin >> num2;  
  12.         sum = num1 + num2;  
  13.         cout << “The sum is: ” << sum;  
  14.     }  
Types of Function Arguments

A function can have the following types of arguments:
  • Default arguments
  • Constant arguments
The following table shows the use of default and constant arguments.

 Default arguments  Constant arguments
 void Add(int iNum1=10, int iNum2=20)
{
//Function Body
}
 void Add(constint iVar1, constint iVar2)
{
//Function Body
}