17.3.2 轉換與多個基類
在單個基類情況下,派生類的指標或引用可以自動轉換為基類的指標或引用,對於多重繼承也是如此,派生類的指標或引用可以轉換為其任意基類的指標或引用。
namespace animal
; class endangered{};
class bear:public zooanimal{};
class panda:public bear,public endangered
};}
zooanimal *za=new panda();
endangered ea=panda();
panda pa=panda();
bear &ba=pa;
在多重繼承情況下,遇到二義性轉換的可能性更大。編譯器不會試圖根據派生類轉換來區別基類間的轉換,轉換到每個基類都一樣好。
1. 多重繼承下的虛函式
第17章 用於大型程式的工具 14
17.3.2 轉換與多個基類 在單個基類情況下,派生類的指標或引用可以自動轉換為基類的指標或引用,對於多重繼承也是如此,派生類的指標或引用可以轉換為其任意基類的指標或引用。在多重繼承情況下,遇到二義性轉換的可能性更大。編譯器不會試圖根據派生類轉換來區別基類間的轉換,轉換帶每個基類都一樣好。names...
第17章 用於大型程式的工具 9
17.2.3 未命名的命名空間 命名空間可以使未命名的,未命名的命名空間 unnamed namespace 在定義時沒有給定名字。未命名的命名空間以關鍵字namespace開頭,接在關鍵字namespace後面的是由花括號定界的宣告塊。未命名的命名空間與其他命名空間不同,未命名的命名空間的定義區域...
第17章 用於大型程式的工具 10
17.2.4 命名空間成員的使用 除了在函式或其他作用域內部,標頭檔案不應該包含using指示或using宣告。在其頂級作用域包含using指示或using宣告的標頭檔案,具有將該名字注入包含該標頭檔案的檔案中的效果。標頭檔案應該只定義作為其介面的一部分的名字,不要定義在其實現中使用的名字。1.us...