C++用纯虚函数实现协议委托的例子

转载 2015年07月09日 18:34:00

  

  #include

  #include

  usingstd::cout;

  usingstd::endl;

  //用纯虚函数设计一个协议

  //实现该协议的类有一个被唤醒的行为

  classAwakable{

  public:

  //纯虚函数

  virtualvoidbeAwaken()=0;

  };

  //闹钟类

  classAlarmClock{

  public:

  //委托方(谁委托了闹钟提供唤醒服务)

  Awakable*delegate;

  //在指定时间后报警

  voidalarmAfter(int)const;

  };

  voidAlarmClock::alarmAfter(intseconds)const{

  sleep(seconds);

  cout<<"叮咚叮咚叮咚"<

  //回调委托方的方法

  delegate->beAwaken();

  }

  //人类(实现了Awakable协议可以被唤醒)

  classPerson:publicAwakable{

  public:

  //启动闹钟并指定唤醒时间

  voidrollClock(int);

  //协议中的被唤醒的行为

  voidbeAwaken();

  };

  voidPerson::rollClock(intseconds){

  cout<<"人设置了闹钟"<

  //在栈上创建闹钟对象

  AlarmClockac;

  //设置委托方

  ac.delegate=this;

  ac.alarmAfter(seconds);

  }

  voidPerson::beAwaken(){

  cout<<"人被闹钟唤醒了"<

  }

  intmain(void){

  //在堆上创建人的对象

  Person*person=newPerson;

  //人启动闹钟设置5秒后被唤醒

  person->rollClock(5);

  //释放指针指向的堆空间

  deleteperson;

  return0;

  }

原地址:http://blog.csdn.net/jackfrued/article/details/46811771

滨州男科医院http://www.0543jl.com  
滨州男科医院http://3g.0543jl.com
滨州男科医院http://www.bzmnnkw.com
滨州男科医院http://3g.bzmnnkw.com
滨州哪家男科医院好http://www.0543mnyy.com 
滨州哪家男科医院好 http://3g.0543mnyy.com 
滨州九龙医院http://www.0543jlyy.com 
滨州九龙医院http://3g.0543jlyy.com 
滨州男科医院官网http://www.256600nk.com 
滨州男科医院官网http://3g.256600nk.com
滨州男科医院哪家好http://www.sdbznk.com
滨州男科医院哪家好http://3g.sdbznk.com
滨州九龙医院http://www.120bz.net
滨州九龙医院http://3g.120bz.net

 

相关文章推荐

C++用纯虚函数实现协议委托的例子

C++不像其他很多编程语言有接口、委托或者协议的概念,但是利用纯虚函数和C++多重继承的特性,我们也能实现接口、委托或协议要做的事情,下面的通过一个人设置闹钟然后被闹钟唤醒的例子来说明如何在C++中实...

C++虚函数实现原理

  • 2015年10月24日 21:11
  • 471KB
  • 下载

关于C++虚继承、虚函数继承的几个例子

今天看虚继承以及虚函数继承时写了几个实例来加深一下理解。相关技术原理参见:c++虚继承对象的内存布局 代码1: 没有虚继承的情况下 #include using namespace std; clas...
  • memewry
  • memewry
  • 2012年08月04日 20:58
  • 1585

C++中虚函数的实现机制

  • 2011年10月27日 13:33
  • 112KB
  • 下载

c++虚函数经典例子演示

c++博大精深,封装,继承,多态是c++的三大特征,c++很强大,但是强大的东西理解起来就是要比不强大的难一点,所以现在看看 c++的多态: 多态条件: 1.必须是公有继承。 2.必须是虚函数...

C++ 虚函数,多态的两个例子

虚函数,多态

C++中虚函数,结合例子解析,然后总结

虚函数的作用是允许在派生类中重新定义与基类同名的函数,并且可以通过基类指针或引用来访问基类和派生类中的同名函数。   例:基类与派生类中有同名函数。 在下面的程序中Student是基类,Grad...

一个例子理解 C++ 面向对象——构造函数、虚函数、抽象基类

#include using namespace std; void TestException(int argc) { try { if (argc != 2) ...

C++嵌套类的继承及纯虚函数实现整理

嵌套类,纯虚函数,类继承,函数实现,运行时多态,感谢网友帮忙,虽然很简单,希望能帮到初学者及不熟悉语法的人!从简单开始~~ 该代码编译通过 #include "stdio.h"   class A  ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++用纯虚函数实现协议委托的例子
举报原因:
原因补充:

(最多只允许输入30个字)