第17章 用於大型程式的工具 14

2021-06-02 22:13:18 字數 480 閱讀 4832

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...