码迷,mamicode.com
首页 > 其他好文 > 详细

008 纯虚函数

时间:2018-09-29 15:28:39      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:ring   name   cti   实例化   comment   clu   纯虚函数   ams   span   

纯虚函数

1.有纯虚函数的类,是抽象类。抽象类不可以被实例化。但是可以定义抽象类的指针。

#include <iostream>
using namespace std;

class A{
public:
  virtual void eat() = 0;
  virtual void sleep() = 0;
};

int main(){
  //编译不过
  //A a;//抽象类不可以被实例化
  A *a;//但是可以定义抽象类的指针
}

2.当继承父类是抽象类的时候,子类必须全部覆盖父类的纯虚函数后,才可以被实例化。

 

#include <iostream>
using namespace std;

class A{
public:
  virtual void eat() = 0;
  virtual void sleep() = 0;
  void fly(){
    eat();
  }
};

class Human : public A{
public:
  virtual void eat(){
    cout << "human eat" << endl;
  }
  virtual void sleep(){
    cout << "human sleep" << endl;
  }
};

int main(){
  Human p;
  A *a = &p;
  a->fly();
}

008 纯虚函数

标签:ring   name   cti   实例化   comment   clu   纯虚函数   ams   span   

原文地址:https://www.cnblogs.com/guojun/p/9723693.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!