C++基础——子类转父类转子类 (派生类转基类转派生类)

时间:2023-03-08 17:00:23
C++基础——子类转父类转子类 (派生类转基类转派生类)

==================================声明==================================

本文原创,转载在正文中显要的注明作者和出处,并保证文章的完整性。

未经作者同意请勿修改(包括本声明),保留法律追究的权利。

未经作者同意请勿用于出版、印刷或学术引用。

本文不定期修正完善,为保证内容正确,建议移步原文处阅读。

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

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

这篇文章主要是为了配合《魔改——MDI多视图模板Tab/标签页 初始化/操作控件》中最后提到的CView*和CTestMDIWLSView*而写的。

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

可能这个示例代码不是很恰当,是不是应该用virtual的?
感觉也没什么问题,只是用来临时存储一下,也没用到多态。
至于析构的时候是在整个程序退出的时候,也应该没问题。

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

 // TransformChildToParentToChild.cpp : 定义控制台应用程序的入口点。
//王林森 #include "stdafx.h"
#include <iostream> using namespace std; class CParent
{
public:
CParent():nP(){}
int GetP(){return nP;}
private:
int nP;
}; class CChild:public CParent
{
public:
CChild():nC(){}
int GetC(){return nC;}
private:
int nC;
}; int _tmain(int argc, _TCHAR* argv[])
{
CParent* poParent=(CParent*)new CChild;
cout<<poParent->GetP()<<endl; CChild* poChild=(CChild*)poParent;
cout<<poChild->GetC()<<endl; return ;
}

C++基础——子类转父类转子类 (派生类转基类转派生类)