(1) virtual void print() const = 0;
(1)=0說明它是純虛函數
(2)const表明不能修改其資料成員
成員函數後面用 const 修飾,通俗的了解就是在這個函數内不能修改類的成員變量,除非那個成員變量是 mutable 的(對成員函數加以限制提高封閉性)
(2) #ifndef LISH_H
#define LISH_H
可以防止重複編譯 在頭檔案中使用
(3) const在聲明變量時有四種用法:
int x = 10;int y = 11.
const int a = 0;意思變量a的值是不可改變的。
const int *b = &x;叫指向常量的指針。意思是不能通過指針b來改變變量x的值,(但如果x是可變的,則可以用變量名x來改變變量的實際值)。
int * const c =&x;是常量指針。意思是指針c的指向不可以改變(即不能再讓指針c指向變量y),但可以通過指針c改變變量x的值。
const int *const d = &x;是指向常量的常量指針。意思是既不能改變指針d的指向,也不能通過指針d改變變量x的值。