Constant member functions ( ‘const’ keyword)
1.
Constant member functions are member functions which
prevent to change the value of data members within the scope of the member
functions.
2.
Constant member functions are specified as constants by
suffixing the prototype and the function definition with the keyword const.
3.
Normally const is used in two cases:
a)
On normal variables to prevent them from being
modified.
b)
On function arguments to keep a function from modifying
a variable passed to it by value or by reference.
EXAMPLE:
#include<iostream.h>
class sample
{
private:
int data;
public:
fun1()
{
data=0;
}
void fun2 ()
{
data=10;
}
void
fun3 () const //Constant Member
Function
{
data=20; //Error since fun3 is a constant
member
//function it should
not try to modify data.
}
void show data
()
{
cout<<”endl<<”data=”<<data;
}
};
Ø
Note that to make fun3() constant keyword const is placed after the declaration
but before the function body. If the function declared inside the class but
defined outside it then it is necessary to use const in declaration as well as in definition.
Ø
Which member functions should be made constant?
- Member functions that do nothing but only acquire data from an object are
obvious candidates for being made const.
If a const is placed inside a function its effect
would be localized to that function only, whereas, if it is placed outside of
all functions then its effect would be global.
No comments:
Post a Comment