用於類層次結構中基類(父類)和派生類(子類)之間指標或引用的轉換。
用於基本資料型別之間的轉換,如把int轉換成char,把char轉換成int。這種轉換的安全性也要開發人員來保證
靜態轉換 static_cast
使用方式 static_cast< 目標型別》(原始資料)
可以進行基礎資料型別轉換
父與子型別轉換
沒有父子關係的自定義型別不可以轉換
class animal{};
class dog : public animal{};
class other{};
//基礎資料型別轉換
void test01()
//繼承關係指標互相轉換
void test02()
//繼承關係引用相互轉換
void test03()
//無繼承關係指標轉換
void test04()
ynamic_cast主要用於類層次間的上行轉換和下行轉換;
在類層次間進行上行轉換時,dynamic_cast和static_cast的效果是一樣的;
在進行下行轉換時,dynamic_cast具有型別檢查的功能,比static_cast更安全;
動態轉換 dynamic_cast
不可以轉換基礎資料型別
父子之間可以轉換
class animal ;
class dog : public animal
};class other
};//普通型別轉換
void test01()
//繼承關係指標
void test02()
//繼承關係引用
void test03()
//無繼承關係指標轉換
void test04()
該運算子用來修改型別的const屬性。。
注意:不能直接對非指標和非引用的變數使用const_cast操作符去直接移除它的const.
//常量指標轉換成非常量指標
void test01()
//常量引用轉換成非常量引用
void test02()
main.cpp
// 43.模板.cpp : 定義控制台應用程式的入口點。
//#define _crt_secure_no_warnings
#includeusing namespace std;
//靜態轉換
//基礎型別
void test01()
//父子之間轉換
class base{};
class child :public base{};
class other{};
void test02()
//static_cast使用 static_cast《目標型別》(原始物件)
// 動態轉換
void test03()
class base2;};
class child2 :public base2;};
class other2{};
void test04()
// 常量轉換(const_cast)
void test05()
//重新解釋轉換(reinterpret_cast)
void test06()
int main()
6 1 C語言陣列
第四章已經學過變數的基本型別,比如 char int 等等。這種型別描述的都是單個具有特定意義的資料,當我們要處理擁有同類意義但是卻包含很多個資料的時候,就可以用到陣列了,比如我們上節課那個數碼管的真值表,就是用乙個陣列來表達的。從概念上講,陣列是具有相同資料型別的有序資料的組合,一般來講,陣列定義...
6 1 C語言預處理理論
1 原始碼.c 預處理 預處理過的.i原始檔 編譯 彙編檔案.s 彙編 目標檔案.o 鏈結 elf可執行程式 2 預處理用的是預處理器,編譯用編譯器,彙編用彙編器,鏈結用鏈結器,這幾個工具再加上其它一些額外的會用到的可用工具,合起來叫編譯工具鏈。gcc就是乙個編譯工具鏈。1 編譯器本身的主要目的是編...
牛客練習賽61 C 四個選項
題目 稍微想下就應該知道,樣例是最大的方案數,40萬 並不是很大,可以dfs 蒐一波。對於答案相同的題目,其實無非就是 關係,我們可以用陣列now i 將其 比如 1,3,8是同一答案,可以用並查集的思想,然後讓其中乙個 例如 now 1 3,now 3 0,now 8 0,這樣就能實現搜的時候實現...