代碼:
非常量版本的函數:void set (){};
const類型的對象:const A object1;
非const 類型的對象:A object2;
那么:
object2可以調用const類型的成員函數和非const類型的成員函數;
而object1只能調用const類型的函數,不能調用非const類型的函數。
總結一句話:const對象只能調用const函數,非const對象可以隨便調用。
上面的代碼實現了set函數的重載,那么,對于上述的object1和object2,他們在調用set函數時,就會自動根據自己是const類型的還是非const類型的對象,來選擇性地調用set函數。
即:
object1.set();//調用的是void set ()const;
object2.set();//調用的是void set ();