讀深入淺出MFC的一節筆記 (轉)
Slicing,就是值類的強制轉換。舉例::namespace prefix = o ns = "urn:schemas--com::office" />
類Cdocument是Cmydot的基類,
Cdocument* pDot;
Cmydot* pMydot=new Cmydot;
PDot=(Cdocument*) pMydot;這是正常的為實現多型而進行的轉換。但如果把指標改為值型即:
Cmydot pMydot;
(Cdocument)pMydot.fuction();就會出問題了,會生成一個Cdoucment類的然後賦值給pMydot,這樣原來的物件就被切掉了,而且虛指標和表也被賦值了,無法動態,pMydot就成了Cdocument的物件。這就是為什麼必須用指標實現動態的道理。
static 成員變數不屬於物件的一部份,而是類別的一部份,所以可以在還沒有誕生任何物件的時候就處理此種成員變數。但首先你必須初始化它。
不要把static 成員變數的初始化動作安排在類別的建構式中,因為建構式可能一再被呼叫,而變數的初值卻只應該設定一次。也不要把初始化動作安排在表頭檔中,因為它可能會被含入許多地方,因此也就可能被許多次。你應該在實現檔中且類別以外的任何位置設定其初值。例如在main 之中,或全域函式中,或任何函式之外:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-998441/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 深入淺出node讀書筆記筆記
- 淺讀-《深入淺出Nodejs》NodeJS
- 深入淺出DPDK學習筆記——前言筆記
- 前端筆記之React(五)Redux深入淺出前端筆記ReactRedux
- 深入淺出記憶體馬(一)記憶體
- Tomcat深入淺出(一)Tomcat
- 精讀《深入淺出Node.js》Node.js
- 深入淺出FE(十四)深入淺出websocketWeb
- 深入淺出Java記憶體模型Java記憶體模型
- 《深入淺出node.js》第四章——記憶體控制(筆記)Node.js記憶體筆記
- 反射的深入淺出反射
- 深入淺出一下Java的HashMapJavaHashMap
- 深入淺出 Runtime(一):初識
- PostgreSQL VACUUM 之深入淺出 (一)SQL
- 深入淺出Win32多執行緒程式設計--之MFC的多執行緒Win32執行緒程式設計
- 深入淺出 MFC_華中理 工_簡體版電子書pdf下載
- 深入淺出說強制型別轉換型別
- Linux:深入淺出 Linux 共享記憶體Linux記憶體
- 深入淺出Netty記憶體管理 PoolChunkNetty記憶體
- 深入淺出Seata的AT模式模式
- 深入淺出java的MapJava
- 深入淺出解讀 Spring 原始碼:IOC/AOP 篇Spring原始碼
- 深入淺出Websocket(一)Websocket協議Web協議
- 《深入核心的敏捷開發》讀書筆記(2)敏捷筆記
- 深入淺出 RabbitMQMQ
- ArrayList 深入淺出
- 深入淺出——MVCMVC
- 深入淺出IO
- 深入淺出PromisePromise
- 深入淺出 ZooKeeper
- 深入淺出mongooseGo
- HTTP深入淺出HTTP
- 深入淺出decorator
- 深入淺出WebpackWeb
- 深入淺出HTTPHTTP
- mysqldump 深入淺出MySql
- 【原創】【深入淺出系列】之程式碼可讀性
- 深入淺出學習決策樹(一)
- webrtc QOS筆記一 Neteq直方圖演算法淺讀Web筆記直方圖演算法