Skip to main content

C++ Functions


Declaration & Assignments
C++ Functions
As we all know functions play an important role in programming. Driving programs into functions is one of the major principles of programming. In C, they are called functions but in C++ they are termed as member functions. In this tutorial you will learn about the member function and its concept used in C++.

What are Member Functions in C++?

Member functions are C++ functions that have their declarations inside the class definition and these member functions work on the data member of the class. Member function definition can be written inside or outside the definition of the class. If the definition of member function is inside the class definition, then it can e defined directly, but if it is defined outside the class then a special operator name scope resolution operator (::) is used along with the name of the class and the function name.
Example:
class Sq {
public:
int a;
int square(); // Declaring function square with no argument and having return type 'int'.
};

int Sq::square()
{
return a * a;
}
In this case, if you define the member function outside the class definition, then you must declare the function inside class definition and then define it outside using the scope resolution operator.
or
Example:
class Sq {
public:
int a;
int square()
{
return a * a; //returns square of a number
}
};
In the above program, the function is defined inside the class and so you do not need to declare it first  and can directly define the function.

main() Function of C++

The main() function is called when the program starts after initialization of the non-local objects with static storage duration. It is the primary entry point of any C++ program that is executed in hosted environment. In C++, the main() function is written after the class definition. The main function of C++ has several special properties. These are:
  1. main() function cannot be used anywhere within the program
    1. In particular cannot be called recursively
    2. Its address cannot be takes for reuse
  2. main() function cannot be predefined and cannot be overloaded.
  3. main() function cannot be declared as static, inline or constexpr
  4. The return type of the main() function cannot be deduced (i.e. auto main() {… is not allowed in C++).
The main() function for both the function definition (discussed above) will be same. You have to create objects of class inside the main() and using that object along with the dot (.) operator member functions will be called.
Syntax:
return_type main()
{
class_name
object - declaration;
object_name
.memberfunction1_name();
object_name
.memberfunction2_name();
........
}
Example:
int main()
{
Sq S1;
S1
.a = 6;
S1
.square();
cout
<< " Square of the number is :"<< S1.square();
}

Types of Member Functions in C++

As we are now familiar with what are member function and how they are declared and defined, how they are used in a C++ program to handle data member and member functions, and how they are called from the main(); it is time to know what are the different types of member function provided by C++.
Listed below are the special types of member functions that can be used within the class.
  • Simple member function
  • Static Member function
  • Const function
  • Inline function
  • Friend function

Simple Member Functions

As discussed earlier, these are simple functions of C++ with or without return type and with or without parameters. The basic structure of a simple member function is:
Syntax:
return_type functionName(parameter_list)
{
// function body;
}

Static Member Functions

The keyword ‘static‘ is used with such member functions. Static is mainly used to hold its positions. This functions work for the whole class rather than for a particular object of the class.
Example:
class X {
public:
static void k(){};
};
int main()
{
G
::k(); // calling member function directly with class name
}
The static member functions cannot access ordinary data members and member functions, but can only access the static data members and static member functions of a class.

Const Member Function

Const keyword makes variable constant, which means once defined, their value cannot be changed. The basic syntax of const member function is:
Example:
void fun() const{}

Inline Function

When a function is declared as inline, the compiler places a copy of the code of that specific function at each point where the function is called at compile time.

Friend Function


Functions are declared as friend using the keyword ‘friend’ to give private access to non-class functions. Programmers can declare a global function as friend, or a member function of other class as friend.

Comments

For Programs Click Here

Popular posts from this blog

Syllabus

Syllabus  C Programming Tutorials C Tutorial C Introduction History of C Programming Language C Installation C Program Structure C Input and Output (I/O) C Format Specifiers Declaration & Assignments C Tokens C Identifiers C Keywords C Constants C Operators C Data Types C Variables C Preprocessors C Type Casting C Custom Header File Flow Control C Decision Making C if Statements C if-else Statements C Nested if-else Statements C else-if Statements C goto Statement C switch Statements C Loops C while loops C do while loops C for loops Functions C Functions C Function Arguments C Library Functions C Variable Scope Arrays & Strings C Arrays C Strings Pointers C Pointers C Dynamic Memory Allocation Structure & Union C Structures C Unions File I/O C File Handling C fopen C fclose C getc C putc C getw C putw C fprintf C fscanf C fgets C fputs C feof                                     ...

Syllabus

Python Tutorials Python Tutorial Python Overview Python Installation Basics of Python Programming Python Operators Python Keywords Python Numbers Python Strings Python Data Types Python Variables Python Lists Python Tuples Python Date and Time Python Decision Making Python Loops Python File Handling Python Dictionaries Python Functions Python Modules Python Exceptions Handling Python Object Oriented Inheritance in Python Python Regular Expressions Python Networking Programming Python Multithreaded Programming Python CGI Programming Python Database Connection Python Metaprogramming Python Data Processing And Encoding Python GUI Programming

C++ Data Abstraction

C++ Data Abstraction Object oriented programming offers various features to write programs with various concepts that help to minimize problems and increase flexibility in program. One of the features of object oriented programming is Data abstraction. In this chapter you will learn about how the concept data abstraction is carried out within the C++ program. What is Data abstraction? Data abstraction allows a program to ignore the details of how a data type is represented. Abstraction (derived from a Latin word  abs , meaning away from and  trahere , meaning to draw) refers to the act of representing essential features without including the background details or explanations. C++ classes use the technique of abstraction and are defined as a list of abstract attributes such as width, cost, size etc and functions to operate on these attributes. They put in a nutshell all the essential properties of an object that are required to be created. The attributes are therefore called...