VC编程:VS之多态虚函数的实现
小标 2018-08-14 来源 : 阅读 1251 评论 0

摘要:本文主要向大家介绍了VC编程:VS之多态虚函数的实现,通过具体的内容向大家展示,希望对大家学习VC编程有所帮助。

本文主要向大家介绍了VC编程:VS之多态虚函数的实现,通过具体的内容向大家展示,希望对大家学习VC编程有所帮助。

本文简单地介绍下如何使用多态和虚函数实现程序的调用。

使用工具:VS2008

使用语言:C++

开发步骤:

1.新建对话框程序

2.添加基类,写一个虚函数

Person.h


#pragma onceclass CPerson{public: CPerson(void); ~CPerson(void);public: virtual void Eat();};


Person.cpp


#include "StdAfx.h"#include "Person.h"CPerson::CPerson(void){}CPerson::~CPerson(void){}void CPerson::Eat(){ AfxMessageBox(_T("有个人吃了些水果..."));}


3.添加派生类,重写虚函数

Old.h


#pragma once#include "person.h"class COld : public CPerson{public: COld(void); ~COld(void);public: void Eat();};


Old.cpp


#include "StdAfx.h"#include "Old.h"COld::COld(void){}COld::~COld(void){}void COld::Eat(){ AfxMessageBox(_T("年长者吃了些香蕉..."));}


Youth.h


#pragma once#include "person.h"class CYouth : public CPerson{public: CYouth(void); ~CYouth(void);public: void Eat();};


Youth.cpp


#include "StdAfx.h"#include "Youth.h"CYouth::CYouth(void){}CYouth::~CYouth(void){}void CYouth::Eat(){ AfxMessageBox(_T("年青人吃了些苹果..."));}


Child.h


#pragma once#include "person.h"class CChild : public CPerson{public: CChild(void); ~CChild(void);public: void Eat();};


Child.cpp


#include "StdAfx.h"#include "Child.h"CChild::CChild(void){}CChild::~CChild(void){}void CChild::Eat(){ AfxMessageBox(_T("小家伙吃了些葡萄..."));}


4.添加消息响应事件

VirtualFunctionDemoDlg.h


public: afx_msg void OnBnClickedBtnPerson(); afx_msg void OnBnClickedBtnOld(); afx_msg void OnBnClickedBtnYouth(); afx_msg void OnBnClickedBtnChild();


VirtualFunctionDemoDlg.cpp


void CVirtualFunctionDemoDlg::OnBnClickedBtnPerson(){ //Person COld CYouth CChild CPerson* pPerson = NULL; pPerson  = new CPerson; pPerson->Eat();}void CVirtualFunctionDemoDlg::OnBnClickedBtnOld(){ CPerson* pPerson = NULL; pPerson  = new COld; pPerson->Eat();}void CVirtualFunctionDemoDlg::OnBnClickedBtnYouth(){ CPerson* pPerson = NULL; pPerson  = new CYouth; pPerson->Eat();}void CVirtualFunctionDemoDlg::OnBnClickedBtnChild(){ CPerson* pPerson = NULL; pPerson  = new CChild; pPerson->Eat();}


5.实现效果

对话框界面


点击基类指针按钮效果:person

 

点击派生类指针按钮效果:old


 

点击派生类指针按钮效果:youth

 

点击派生类指针按钮效果:child

 


好了,效果就演示到这儿了。

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言VC/MFC频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved