常量成員函數(shù):
先看這個(gè)例子
bool Sales_item::same_isbn(const Sales_item &rhs) const
{ return (isbn rhs.isbn);}
藍(lán)色的const用于修飾顯示傳入的形參rhs,而對(duì)于類的成員則有隱式的,而外的this指針作為形參傳入,而紅色部分的const正是修飾這部分參數(shù)this;
const 成員函數(shù)的引入
現(xiàn)在,可以理解跟在Sales_item 成員函數(shù)聲明的形參表后面的const 所起的作用了: const改變了隱含的this 形參的類型。在調(diào)用total.same_isbn(trans) 時(shí),隱含的this 形參將是一個(gè)指向total 對(duì)象的const Sales_item*類型的指針。就像如下編寫same_isbn 的函數(shù)體一樣:
用這種方式使用const 的函數(shù)稱為常量成員函數(shù)(const member function) 。由于this 是指向const 對(duì)象的指針,const 成員函數(shù)不能修改調(diào)用該函數(shù)的對(duì)象。因此,函數(shù)avg-price
和函數(shù)sarne isbn 只能讀取而不能修改調(diào)用它們的對(duì)象的數(shù)據(jù)成員。
NOTE:
const對(duì)象指向const的指針或引用只能用于調(diào)用其const成員函數(shù)如果嘗試用它們來調(diào)用非const 成員函數(shù),則是錯(cuò)誤的。
返回常量引用:
以上mycls是我自己定義的一個(gè)類,聲明如下
posted on 2008-12-04 17:08 pear_li 閱讀(3421) 評(píng)論(4) 編輯 收藏 引用 所屬分類: C++