zoukankan      html  css  js  c++  java
  • C++入门 --- 纯虚函数与抽象类

    一、纯虚函数的定义与使用

     1. 在虚函数后加上=0,表示该函数不需要实现代码,也代表该类不能实例化;

     2.   纯虚函数如果没有实现,那么包含该纯虚函数的类是抽象类;

     3.   纯虚析构一定要有实现;

    二、抽像类的概念

     1.  接口类:只是该类作为父类,规范对外使用的接口(某些函数)

        2.  抽象类:一定要包含某一个纯虚函数,并且没有被实现

    示例代码:

     1 #include <iostream>
     2 #include <string>
     3 
     4 using namespace std;
     5 
     6 //父类只是为了子类提供接口:接口类
     7 class CAnimal
     8 {
     9 public:
    10     CAnimal(int) {}
    11     virtual ~CAnimal() = 0 {}; //纯虚析构一定要有实现
    12     virtual void Run() = 0; //纯虚函数,不需要实现
    13 };
    14 
    15 class CFish :public CAnimal {
    16 public:
    17     CFish() :CAnimal(1) {}
    18     virtual ~CFish() {}
    19     virtual void Run() { cout << "CFish:Run()
    "; }
    20 };
    21 
    22 int main() 
    23 {
    24     //CAnimal CA;  添加纯虚析构后,抽象类不能被实例化
    25 
    26     //创建一个鱼对象
    27     CFish fish;
    28 
    29     CAnimal* PAm = new CFish;
    30     return 0;
    31 }
  • 相关阅读:
    yocto添加源码并编译进文件系统
    yocto编译加速及单独编译内核与uboot
    mysql 创建索引
    redis初使用
    mysql修改时区
    linux修改时间
    服务器环境配置安装(mysql+redis+nodejs+nginx)
    由于找不到MSVCP20.dll,无法继续执行代码
    sequelize初使用
    css flex
  • 原文地址:https://www.cnblogs.com/y4247464/p/13832174.html
Copyright © 2011-2022 走看看