zoukankan      html  css  js  c++  java
  • C++ 类与虚函数知识

    空类缺省有哪些成员函数

    1. 构造函数
    2. 析构函数
    3. 拷贝构造函数
    4. 赋值函数(operator=)

    类的继承中使用虚函数来重写(override)基类中的函数。

    哪些类中的成员函数不能声明为虚函数

    1. 静态成员函数
    2. 内联函数
    3. 构造函数
    • 静态成员函数不能定义为虚函数
      因为静态成员函数没有this指针,并且静态成员函数可以通过类名来访问。
      又因为虚函数是放在对象的虚表里面的,同一个类中的所有对象虽然共用同一张虚表,但是类名无法找到虚表。

    • 内联函数不能定义为虚函数
      因为内联函数没有地址,而虚表里面存放的就是虚函数的地址。

    • 构造函数不能定义为虚函数
      因为虚函数是存放在对象的虚表里面,如果将构造函数定义为虚函数,则构造函数也必须存放在虚表里面,但是此时对象都还没有创建也就没有所谓的虚表。

    纯虚函数

    纯虚函数的形式如下:

    virtual returnType function() = 0;
    

    参考博客

    1. c++面试基础题汇总. https://www.cnblogs.com/277223178dudu/p/10750434.html
  • 相关阅读:
    设计模式基础:类及类关系的UML表示
    SQL 经典语句
    网络存储
    jstack Dump
    Windows上模拟Linux环境的软件Cygwin
    竞争条件
    Java volatile关键字
    java原子操作
    java死锁小例子
    死锁四个必要条件
  • 原文地址:https://www.cnblogs.com/lvjincheng/p/11304282.html
Copyright © 2011-2022 走看看