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.)
▲