題目 static cast在ATL當中的應用

2021-06-20 00:28:14 字數 530 閱讀 9380

一、dynamic_cast的應用

class base

int main(int argc, char* argv)

【點評】static_cast、dynamic_cast是用來強制轉換資料型別的,由編譯器來生成結果,而不是呼叫某函式。這樣的話,起到了很好的擴充套件作用,即可以新增新的功能。

二、static_cast實現c++多型

template class b1

protected:

void output1();

class d2:public b1{

public:

void output1(){ cout<<"d2"<【點評】通過test的預編譯,實現c++多型,生成的**量更少。

參考:1、static_cast,dynamic_cast,const_cast**

2、dynamic_cast的功能在vc 6.0中如何開啟

3、mfc程式設計師的wtl教程(一)

4、wtl教程

static cast的詳細介紹

static cast一般用來將列舉型別轉換成整型,或者整型轉換成浮點型。也可以用來將指向父類的指標轉換成指向子類的指標。做這些轉換前,你必須確定要轉換的資料確實是目標型別的資料,因為static cast不做執行時的型別檢查以保證轉換的安全性。也因此,static cast不如dynamic ca...

C 型別轉換 static cast

static cast無法像const cast一樣對將常量轉換為non const型別,無法將某種型別的指標轉換為其他不相關的其他 型別的指標,也無法將指標轉換為int 畢竟在64位系統下指標為64位而int為32位 等等,也就是說無法完成c 規則認為的沒有意義的轉換。static cast主要應...

C C 程式設計 static cast轉換

為什麼c 要引入static cast dynamic cast const cast reinterpret cast 用隱式和使用者定義轉換的組合在型別間轉換 比如 int i,j 舊式的 double ret double i j 推薦的 double ret static cast doub...