Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1542812
  • 博文数量: 596
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 173
  • 用 户 组: 普通用户
  • 注册时间: 2016-07-06 15:50
个人简介

在线笔记

文章分类

全部博文(596)

文章存档

2016年(1)

2015年(104)

2014年(228)

2013年(226)

2012年(26)

2011年(11)

分类: C/C++

2013-05-28 16:08:41

1.构造函数不能是纯虚函数,或者使用默认的构造函数

  1. class person {
  2. public:
  3.     virtual void get_name()=0;
  4.     virtual person();//构造函数是纯虚函数
  5. };

2.析构函数必须有实现,或者使用默认的析构函数
The solution is to ensure that all virtual methods that are not pure are defined. Note that a destructor must be defined even if it is declared pure-virtual 
  1. class person {
  2. public:
  3.     virtual void get_name()=0;
  4.     virtual ~person();//XX
  5. };
3.纯虚函数里面必须全部是纯虚函数


  1. class
     person {
  2. public:
  3.     virtual void get_name()=0;
  4.     virtual void get_age();//XX
  5. };
4. =0与空实现


  1. class
     person {
  2. public:
  3.     virtual void get_name()=0;//声明一个接口,继承person的类必须实行该接口
  4.     virtual void get_age() { };//默认实现方法,继承person的类不必实行该接口,也可以实现覆盖这个接口
  5. };
4. 
阅读(802) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~