zoukankan      html  css  js  c++  java
  • (转)(C++)关于抽象基类和纯虚函数

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

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

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

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

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

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

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

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

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

  • 相关阅读:
    ArrayList用法
    MessageBox
    将文本文件导入Sql数据库
    在桌面和菜单中添加快捷方式
    泡沫排序
    Making use of localized variables in javascript.
    Remove double empty lines in Visual Studio 2012
    Using Operations Manager Connectors
    Clear SharePoint Designer cache
    Programmatically set navigation settings in SharePoint 2013
  • 原文地址:https://www.cnblogs.com/zhc-/p/3623143.html
Copyright © 2011-2022 走看看