Глава 9. Описатели и спецификаторы данных
11 int CONSTANT_MEMBER::ConstRetVal() const
12 (
13 cout « "вызван постоянный член" « endl;
14 return val;
15 }
16 int CONSTANT_MEMBER::RetVal()
17 (
18 cout « "вызван непостоянный член" « endl;
19 return val;
20 }
21 void main()
22 {'
23 const CONSTANT_MEMBER cml (5);
24 // WARNING: Непостоянный член вызван для постоянного объекта.
25 cout « cml.RetVal() « endl;
26 //OK: Постоянная функция-член :.
27 cout «cml. ConstRetVal () « endl;
28 CONSTANT_MEMBER cm2(10);
29 //OK: Можно вызывать постоянные члены , // для непостоянных объектов.
30 cout « cm2.ConstRetVal() « endl;
31 //OK: Можно вызывать непостоянные члены // для непостоянных объектов.
32 cout « cm2.RetVal() « endl;
33 }
Рис. 9.3. Показывает предупреждение, полученное при вызове непостоянной функции-члена для постоянного объекта. Постоянный элемент можно вызывать и для постоянного, и для непостоянного объектов, но не наоборот