介紹乙個雕蟲小技:編譯期判斷類的繼承性。具體來說就是型別
u是否繼承自型別
t。該技術的靈感和源頭來自
andrei alexandrescue
的《modern c++ design
》。原書中描述的此技術有乙個小小的
bug。
template
class
__conversion
; enum;
enum;
};
template
class
__conversion ;
enum;
enum;
};
//判斷t
是否是u
的父類或者t和
u是相同型別
#define
supersubclass(t,u) (kimi_boost::__conversion::exists &&/
!kimi_boost::__conversion::sametype)
//判斷t
是否是u
的父類
#define
supersubclass_strict(t,u) (supersubclass(t,u) &&/
!kimi_boost::__conversion::sametype)
class
a{};
class
b : public a{};
void
supersub_test()
01011
1100100
C 類的繼承性
private,私有成員,只能由類內部成員訪問 預設屬性 也是類封裝性的體現 public,共有成員,類內成員或類物件都能訪問 protected 保護成員,類內成員或者繼承類訪問。一般使用方式 類成員變數使用private 類成員函式使用public 而protected是在類繼承中才會使用。不繼...
css的繼承性
一 css的繼承性 1 文字屬性 屬性 說明vertical align 垂直文字對齊 text decoration 規定新增到文字的裝飾 text shadow 文字陰影效果 white space 空白符的處理 unicode bidi 設定文字的方向 2 盒子模型的屬性 屬性 說明width...
CSS的繼承性
css的某些樣式是具有繼承性的,那麼什麼是繼承呢?繼承是一種規則,它允許樣式不僅應用於某個特定 html 標籤元素,而且應用於其後代。所有的css語句都是基於各個標籤的繼承關係的。但是並不是所有的屬性都能被繼承,一般的字型屬性都是能繼承的,不能繼承的例如邊框屬性 注意 孩子能繼承父親屬性,但是父親不...