c++抽象类

来源:互联网 发布:linux指定dhcp服务器 编辑:程序博客网 时间:2024/04/29 15:10
抽象类 
    纯虚函数
(pure virtual function)是指被标明为不具体实现 的虚拟成员函数。它用于这样的情况:定义一个基类时,会遇到无法 定义基类中虚函数的具体实现,其实现依赖于不同的派生类。定义 纯虚函数的一般格式为: 
    virtual 返回类型 函数名(参数表)=0; 
    含有纯虚函数的基类是不能用来定义对象的。纯虚函数没有实现 部分,不能产生对象,所以含有纯虚函数的类是抽象类。     定义纯虚函数必须注意: 
    1. 定义纯虚函数时,不能定义虚函数的实现部分。即使是函数体 为空也不可以,函数体为空就可以执行,只是什么也不做就返回。而 纯虚函数不能调用。 
    2. “=0”表明程序员将不定义该函数,函数声明是为派生类保留 一个位置。“=0”本质上是将指向函数体的指针定为NULL。 
    3. 在派生类中必须有重新定义的纯虚函数的函数体,这样的派生 类才能用来定义对象。 
抽象类的使用要求 
       抽象类不能实例化 
       抽象类只作为基类被继承 
       可以定义指向抽象类的指针或引用 
动态联编 
    联编是指计算机程序自身彼此关联的过程,是把一个标识 符名和一个存储地址联系在一起的过程,也就是把一条消息和 一个对象的操作相结合的过程。 
    如果使用基类指针或引用指明派生类对象并使用该指针 调用虚函数(成员选择符用箭头号“->”),则程序动态地 (运行时)选择该派生类的虚函数,称为动态联编。     动态联编(dynamic binding)亦称滞后联编 (late binding),对应于静态联编(static binding)。     如果使用对象名和点成员选择运算符“.”引用特定的 一个对象来调用虚函数,则被调用的虚函数是在编译时确定 的(称为静态联编)
0 0
原创粉丝点击