1. 程式人生 > 實用技巧 >虛繼承與虛基類

虛繼承與虛基類

  • 常成員函式

對常成員函式進行操作時,需要強調的是,必須在成員函式的宣告和定義處同時加上 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);