虛繼承與虛基類
阿新 • • 發佈:2020-07-14
- 常成員函式
對常成員函式進行操作時,需要強調的是,必須在成員函式的宣告和定義處同時加上 const 關鍵字。char *getname() const和char *getname()是兩個不同的函式原型,如果只在一個地方加 const 會導致宣告和定義處的函式原型衝突。 (重點!重點!重點!)
最後再來區分一下 const 的位置:
-
函式開頭的 const 用來修飾函式的返回值,表示返回值是 const 型別,也就是不能被修改,例如const char * getname()。
-
函式頭部的結尾加上 const 表示常成員函式,這種函式只能讀取成員變數的值,而不能修改成員變數的值,例如char * getname() const。
const與指標的結合
- const 和指標結合的寫法多少有點讓初學者摸不著頭腦,大家可以這樣來記憶:const 離變數名近就是用來修飾指標變數的,離變數名遠就是用來修飾指標指向的資料,如果近的和遠的都有,那麼就同時修飾指標變數以及它指向的資料。
C++中const也能用來修飾物件,
一旦將物件定義為常物件之後,就只能呼叫類的 const 成員(包括 const 成員變數和 const 成員函式)了。
定義常物件的語法和定義常量的語法類似:
const class object(params);
class const object(params);