Structure of C++ Program - GeeksforGeeks

15 Dec, 2020
The C++ program is written using a specific template structure. The structure of the program written in C++ language is as follows:
This section comes first and is used to document the logic of the program that the programmer going to code.
It can be also used to write for purpose of the program.
Whatever written in the documentation section is the comment and is not compiled by the compiler.
Documentation Section is optional since the program can execute without them. Below is the snippet of the same:
C++
/*     This is a C++ program to find the        factorial of a number      The basic requirement for writing this    program is to have knowledge of loops      To find the factorial of number    iterate over range from number to one*/
The linking section contains two parts:
Header Files:
Generally, a program includes various programming elements like built-in functions, classes, keywords, constants, operators, etc. that are already defined in the standard C++ library.
In order to use such pre-defined elements in a program, an appropriate header must be included in the program.
Standard headers are specified in a program through the preprocessor directive #include. In Figure, the iostream header is used. When the compiler processes the instruction #include<iostream>, it includes the contents of the stream in the program. This enables the programmer to use standard input, output, and error facilities that are provided only through the standard streams defined in <iostream>. These standard streams process data as a stream of characters, that is, data is read and displayed in a continuous flow. The standard streams defined in <iostream> are listed here.
#include<iostream>
Namespaces:
A namespace permits grouping of various entities like classes, objects, functions, and various C++ tokens, etc. under a single name.
Any user can create separate namespaces of its own and can use them in any other program.
In the below snippets, namespace std contains declarations for cout, cin, endl, etc. statements.
using namespace std;
Namespaces can be accessed in multiple ways:using namespace std;using std :: cout;
using namespace std;
using std :: cout;
It is used to declare some constants and assign them some value.
In this section, anyone can define your own datatype using primitive data types.
In  #define is a compiler directive which tells the compiler whenever the message is found replace it with “Factorial\n” .
typedef int K; this statement telling the compiler that whenever you will encounter K replace it by int and as you have declared k as datatype you cannot use it as an identifier.
Here the variables and the class definitions which are going to be used in the program are declared to make them global.
The scope of the variable declared in this section lasts until the entire program terminates.
These variables are accessible within the user-defined functions also.
It contains all the functions which our main functions need.
Usually, this section contains the User-defined functions.
This part of the program can be written after the main function but for this, write the function prototype in this section for the function which for you are going to write code after the main function.
C++
// Function to implement the// factorial of number numint factorial(k& num){    // Iterate over the loop from    // num to one    for (k i = 1; i <= num; i++) {        fact *= i;    }      // Return the factorial calculated    return fact;}
The main function tells the compiler where to start the execution of the program. The execution of the program starts with the main function.
All the statements that are to be executed are written in the main function.
The compiler executes all the instructions which are written in the curly braces {} which encloses the body of the main function.
Once all instructions from the main function are executed control comes out of the main function and the program terminates and no further execution occur.
Below is the program to illustrate this:
C++
// Documentation Section/*  This is a C++ program to find the    factorial of a number    The basic requirement for writing this    program is to have knowledge of loops    To find the factorial of a number    iterate over the range from number to 1*/  // Linking Section#include <iostream>using namespace std;  // Defination Section#define msg "FACTORIAL\n"typedef int k;  // Global Declaration Sectionk num = 0, fact = 1, storeFactorial = 0;  // Function Sectionk factorial(k& num){    // Iterate over the loop from    // num to one    for (k i = 1; i <= num; i++) {        fact *= i;    }      // Return the factorial    return fact;}  // Main Functionint main(){    // Given number Num    k Num = 5;      // Function Call    storeFactorial = factorial(Num);    cout << msg;      // Print the factorial    cout << Num << "! = "         << storeFactorial << endl;      return 0;}
FACTORIAL
5! = 120

Articles
C++
C++ Programs
CPP
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Time Complexity and Space Complexity
Docker - COPY Instruction
Time complexities of different data structures
SQL | Date functions
Difference between Class and Object
Vector in C++ STL
Arrays in C/C++
Inheritance in C++
Initialize a vector in C++ (6 different ways)
Map in C++ Standard Template Library (STL)