#include <iostream>
using namespace std;
class Human
{
public:virtual void run()=0;virtual void eat()=0;
};class Month:public Human
{
public:void run(){ cout<<"母亲跑百米要二十少"<<endl;}void eat(){ cout<<"母亲喜欢吃零食"<<endl;}
};class Father:public Human
{
public:void run(){ cout<<"父亲跑百米要三十少"<<endl;}void eat(){ cout<<"父亲不喜欢吃零食"<<endl;}
};class Uncle:public Human
{
public:void run(){ cout<<"舅舅跑百米要十五少"<<endl;}void eat(){ cout<<"舅舅吃零食"<<endl;}
};int main()
{void (Human::*pf)()=0;Human *p =0;char choice1, choice2;bool quit = false;while(quit == false){cout<<"(0)退出 (1)母亲 (2)父亲 (3)舅舅"<<endl;cin>>choice1;switch(choice1){case '0':quit=true;break;case '1':p = new Month;break;case '2':p = new Father;break;case '3':p = new Uncle;break;default:choice1='q';break;}if(quit){break;}if(choice1=='q'){cout<<"请输入0到3之间的数字"<<endl;continue;}cout<<"(1)跑步 (2)进食"<<endl;cin>>choice2;switch(choice2){case '1':pf=&Human::run;break;case '2':pf = &Human::eat;break;default:continue;}//p指向的是一个类//pf是指向一个类的函数指针(p->*pf)();delete p;}return 0;
}

  

第十七章 特殊成员_类的函数指针相关推荐

  1. 柏西机器人_第四百六十七章 次元声波_我的手机有外星游戏最新章节

    第四百六十七章 次元声波 "我是星兽一族!"小星兽自豪地说道. 希尔柏西一愣,"星兽?怎么可能!" 作为见多识广的贝硫多拉高层,希尔柏西当然知道星兽一族的情况, ...

  2. C++ 笔记(16)— 类和对象(类定义、类实例对象定义、访问类成员、类成员函数、类 public/private/protected 成员、类对象引用和指针)

    1. 类的定义 类定义是以关键字 class 开头,后跟类的名称.并在它后面依次包含类名,一组放在 {} 内的成员属性和成员函数,以及结尾的分号. 类声明将类本身及其属性告诉编译器.类声明本身并不能改 ...

  3. C++57个入门知识点_17 类的访问权限及C语言模拟类的封装(类的私有权限突破方法:编译期进行权限检查,运行期通过指针修改类的私有成员变量;利用函数指针对结构体中成员变量进行修改;CPU大小尾排列)

    接上篇:C++57个入门知识点_16 类的标准写法(类名.成员变量.成员函数及对象命名规则:成员变量一般为私有,成员函数为公有并暴露给外部使用成员变量:防止类过大,声明写在.h,实现写在.cpp,调用 ...

  4. 6章:常用工具类以及函数

    2019独角兽企业重金招聘Python工程师标准>>> <div class="box"><div class="w_320" ...

  5. 函数指针--全局函数指针与类的函数指针(二)

    本次对之前的说明做个补充,大体内容还是一样的. 这里对类里面的成员函数指针变量的使用继续进行了解,最主要的是希望能达到通过非静态成员指针变量来引用各自的非静态成员函数. 这样每个实例可以保存当前对象对 ...

  6. C++ 类中函数指针的使用

    文章目录 函数指针用法 类中的成员函数接收函数指针 情况1 情况2 情况3 总结 函数指针用法 函数指针可以作为一个函数的参数,传不同的函数指针给这个函数就可以让其实现不能的功能.从而我们可以复用这个 ...

  7. c++ 函数指针_进化论——从函数指针到被结构封装的函数指针及参数的应用举例...

    ↑↑↑ 点击上方公众号名称关注,不放过任何转变的机会. ✎ 编 者 悟 语 借口再小也会瓦解人的意志. 文 章 导 读 今天带大家用下函数指针,然后将函数指针和函数参数封装到结构体中,接着将数据用动态 ...

  8. 第十七章 特殊类成员

    第十七章  特殊类成员 1.1  静态成员变量 假如我们要在一个类中的所有对象间共享某种数据,那不妨将其设置为静态成员变量/函数: static x 1.2  静态成员变量 静态成员变量与成员变量有4 ...

  9. C++ 类的成员函数指针 ( function/bind )

    这个概念主要用在C++中去实现"委托"的特性. 但现在C++11 中有了 更好用的function/bind 功能.但对于类的成员函数指针的概念我们还是应该掌握的. 类函数指针 就 ...

最新文章

  1. 约瑟夫环 猴子选大王
  2. R 语言 download.file 的几点知识
  3. 优化Linux内核参数/etc/sysctl.conf sysctl 《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》...
  4. 无人机内嵌计算机Manifold 2可部署容器化应用
  5. 对字符串进行 匹配,查找,替换,判断。
  6. mysql 数据库合并命令_mysql命令整合
  7. java中list,set,map集合的区别,及面试要点
  8. SQL Server INFORMATION_SCHEMA
  9. 黎活明给程序员的忠告 收藏
  10. click与onclick的区别
  11. 3D人体骨架检测(mediapipe)
  12. datatables 动态表格行合并
  13. 钱文忠解读《弟子规》读后感
  14. docker容器和镜像的区别
  15. 电脑端10大图片处理类神器
  16. 深入理解Serdes 结构 之 CTLE和DFE 技术
  17. 世事洞明皆学问-拉链拉头的拆分安装
  18. linux怎么sftp传文件,如何使用Linux SFTP命令传输文件
  19. 微信小程序项目实战:快递查询-李宁-专题视频课程
  20. 基于WebAssembly的前端视频编辑器设计与实现(个人毕设论文删改)

热门文章

  1. 应急模拟系统功能结构图
  2. DirectX11 With Windows SDK--24 Render-To-Texture(RTT)技术的应用
  3. Django的外键创建
  4. 操作系统笔记(六)调度
  5. [原创]快速排序(C++版)
  6. SparkStreaming “Could not read data from write ahead log record” 报错分析解决
  7. poj 1469 COURSES 解题报告
  8. 未能加载文件或程序集“Antlr3.Runtime”或它的某一个依赖项。参数错误。 (异常来自 HRESULT:0x80070057 (E_INVALIDARG))解决方法。...
  9. 小白自学Java框架,框架的全面解析总结
  10. UOJ #585. 新年和多米诺