类指针强制转化成子类, 子类的方法竟然可用.[VC++视频教程]
2010-05-04 17:18
232 查看
从未实例化子类, 只把父类指针强制转化成子类, 子类的方法竟然可用.
搞不明白, 请高手指点.
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
class animal
{
public:
animal()
{
}
~animal()
{
}
void Breathe()
{
cout << "animal function"<<endl;
}
};
class fish:public animal
{
public:
fish():animal()
{
}
~fish()
{
}
void BB()
{
cout << "fish function" << endl;
}
};
void fun(animal* pAni)
{
fish* pfs = (fish*)(pAni);
if (NULL != pfs)
{
pfs->BB();
}
}
int _tmain(int argc, _TCHAR* argv[])
{
animal ani;
animal* pAni = &ani;
fun(pAni);
return 0;
}
输出结果: fish function
搞不明白, 请高手指点.
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
class animal
{
public:
animal()
{
}
~animal()
{
}
void Breathe()
{
cout << "animal function"<<endl;
}
};
class fish:public animal
{
public:
fish():animal()
{
}
~fish()
{
}
void BB()
{
cout << "fish function" << endl;
}
};
void fun(animal* pAni)
{
fish* pfs = (fish*)(pAni);
if (NULL != pfs)
{
pfs->BB();
}
}
int _tmain(int argc, _TCHAR* argv[])
{
animal ani;
animal* pAni = &ani;
fun(pAni);
return 0;
}
输出结果: fish function
相关文章推荐
- C和指针视频教程
- 视频捕捉全教程(vc+vfw)
- [教程]手机通过网络(网上邻居)播放PC共享视频的方法
- 孙鑫vc++视频教程笔记之mfc输出卡拉ok变色字幕
- C#基础视频教程3.2 常见控件类型和使用方法
- VC8下多线程环境中AfxGetMainWnd()返回空指针问题及解决方法
- 子类重写父类方法时强制调用父类方法
- vc2010转化vc2005或低版本VC过程后,编译错误 解决方法
- VC视频教程笔记(第一课)
- 指针强制转化(很有用的小技巧)
- Android多媒体教程之播放视频的四种方法
- 视频教程的录制与制作的流程,方法,经验
- 关于指针的强制转化之一(基类有虚…
- 我学的是设计模式的视频教程——辛格尔顿,生成器VS工厂方法
- VC++从入门到精通开发详解视频教程
- 视频捕捉全教程(vc+vfw)
- VC++项目开发全程实录[视频教程全集]
- VC++下使用ADO操作数据库的智能指针_ConnectionPtr、_RecordsetPtr、_CommandPtr的方法
- [孙鑫]VC++从入门到精通开发详解视频教程(swf格式)
- CentOS6.5安装MySQL5.7详细教程以及Linux mysql5.7最精简安装方法 附带强制修改root密码方法