Alter/Modify the values of data members of a class inside const member function - Functions

Q.  Can we alter/modify the values of data members of a class inside const member function?
- Published on 19 Oct 15

a. Yes
b. No

ANSWER: Yes
 

    Discussion

  • ramesh   -Posted on 08 Oct 15
    In general we cannot alter/modify the values of data members of a class inside const member function but if we declare data member as mutable then we can modify the data in cons function.
    Example:
    class CountDemo
    {
    int count;
    public:
    CountDemo()
    {
    count=0;
    }
    CountDemo(int c)
    {
    count=c;
    }
    void getCount() const
    {
    count++;
    cout << "\n count= " << count;
    }
    };
    void main()
    {
    CountDemo c(10);
    c.getCount();

    }

    The above program will give the compile time error because getCount() function is constant, but if you declare count data member as mutable then you can modify the count variable.

Post your comment / Share knowledge


Enter the code shown above:

(Note: If you cannot read the numbers in the above image, reload the page to generate a new one.)