C++基礎——子類轉父類轉子類 (派生類轉基類轉派生類)


==================================聲明==================================

本文原創,轉載在正文中顯要的注明作者和出處,並保證文章的完整性。

未經作者同意請勿修改(包括本聲明),保留法律追究的權利。

未經作者同意請勿用於出版、印刷或學術引用。

本文不定期修正完善,為保證內容正確,建議移步原文處閱讀。

本文鏈接:http://www.cnblogs.com/wlsandwho/p/4288883.html

=======================================================================

 這篇文章主要是為了配合《魔改——MDI多視圖模板Tab/標簽頁 初始化/操作控件》中最后提到的CView*和CTestMDIWLSView*而寫的。

 =======================================================================

可能這個示例代碼不是很恰當,是不是應該用virtual的?
感覺也沒什么問題,只是用來臨時存儲一下,也沒用到多態。
至於析構的時候是在整個程序退出的時候,也應該沒問題。

=======================================================================

 1 // TransformChildToParentToChild.cpp : 定義控制台應用程序的入口點。
 2 //王林森
 3 
 4 #include "stdafx.h"
 5 #include <iostream>
 6 
 7 using namespace std;
 8 
 9 
10 class CParent
11 {
12 public:
13     CParent():nP(1){}
14     int GetP(){return nP;}
15 private:
16     int nP;
17 };
18 
19 class CChild:public CParent
20 {
21 public:
22     CChild():nC(2){}
23     int GetC(){return nC;}
24 private:
25     int nC;
26 };
27 
28 
29 
30 int _tmain(int argc, _TCHAR* argv[])
31 {
32     CParent* poParent=(CParent*)new CChild;
33     cout<<poParent->GetP()<<endl;
34 
35     CChild* poChild=(CChild*)poParent;
36     cout<<poChild->GetC()<<endl;
37 
38     return 0;
39 }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM