★抽象类:一个类可以抽象出不同的对象来表达一个抽象的概念和通用的接口,这个类不能实例化(创造)对象。

★纯虚函数(pure virtual):在本类里不能有实现(描述功能),实现需要在子类中实现。
例:
 virtual typeT function_name(parameter_list)=0;
 
 virtual void draw()=0; //画,纯虚函数;
 virtual void rotate(double)=0; //旋转,纯虚函数;

★抽象类(abstract class):如果一个类包含纯虚函数,那么这个类就叫抽象类。

★一个抽象类只能用作基类,只能用作派生,不能实例化(创建)对象。一个类要是包含至少一个纯虚函数,则这个类是抽象类。一个抽象类的子类可以添加更多的数据成员和成员函数。

★抽象类的子类可以还是抽象类,可以添加更多的成员函数和成员方法,直到可以产生对象为止。

★由于抽象类不能构造对象,因此它的构造函数不能被单独调用。它的构造函数只能在子类的成员初始化列表里面调用。

★抽象类不一定有析构函数,如果有必须是虚析构函数。

★★★一个函数不能有抽象类对象的值参数<参数不能传值>,这个函数不能有抽象类对象的值返回。然而可以有抽象类类型的指针和引用可以作为参数,同样抽象类的指针和引用可以作为函数的返回值类型。因为他们可以指向或者引用抽象类的子类对象。

★纯虚函数是在子类里面被实现的。如果子类没有实现纯虚函数,纯虚函数将继承给子类。那么这时子类同样也是一个抽象类。

最新文章

  1. 【转】Caffe初试(八)Blob,Layer和Net以及对应配置文件的编写
  2. IE6/IE7中li底部4px空隙的Bug
  3. SQLite常用网址
  4. OAF与Windows 7版本不兼容黑屏卡顿问题
  5. use-a, has-a, is-a和实现关系
  6. Java虚拟机基础知识
  7. 【原创】ZeroClipboard的时代或许已经过去了
  8. Mysql 5.7.9 cmake boost.cmake 处理
  9. 推荐五个最好的MySQL GUI工具
  10. Swing动画之游戏角色
  11. 通过EntityFramework来操作MySQL数据库
  12. 【分治】peak find
  13. C++ 创建快捷方式
  14. WinForm-简单21点纸牌小游戏
  15. MariaDB glare cluster简介
  16. Python爬虫_Selenium与PhantomJS
  17. [Spring] 04 Denpendency Injection
  18. 20135327郭皓--Linux内核分析第三周 构造一个简单的Linux系统MenuOS
  19. python-day21--sys模块
  20. HDU 1197 Specialized Four-Digit Numbers (枚举+进制转化,简单)

热门文章

  1. SLAM: Inverse Depth Parametrization for Monocular SALM
  2. mvc重定向
  3. Memcached 之分布式算法原理
  4. CorelDRAW中内置的视频教程在哪里?
  5. centos6.5 安装Python3.6.0
  6. matlab读取mysql数据
  7. Django链接Mysql 8.0 出现错误(1045:Access denied for user &#39;root&#39;@&#39;localhost&#39; (using password: NO) 的一种解决方法
  8. Java代码规范和一些常见问题
  9. java IO框架分析
  10. Game with a Strip