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 }

原文地址:https://www.cnblogs.com/wlsandwho/p/4288883.html