zoukankan      html  css  js  c++  java
  • virtual关键字

    出于多态的考虑,为了覆盖, 子类同名覆盖函数(函数名、参数、返回值都相同) virtual void print();

    这也许会使人联想到函数的重载,但稍加对比就会发现两者是完全不同的:
    (1)重载的几个函数必须在同一个类中;
    覆盖的函数必须在有继承关系的不同的类中
    (2)覆盖的几个函数必须函数名、参数、返回值都相同;
    重载的函数必须函数名相同,参数不同。参数不同的目的就是为了在函数调用的时候编译器能够通过参数来判断程序是在调用的哪个函数。这也就很自然地解释了为什么函数不能通过返回值不同来重载,因为程序在调用函数时很有可能不关心返回值,编译器就无法从代码中看出程序在调用的是哪个函数了。
    (3)覆盖的函数前必须加关键字Virtual;

  • 相关阅读:
    P1162 填涂颜色
    P1238 走迷宫
    U68364 _GC滑迷宫
    P4783 【模板】矩阵求逆
    P2613 有理数取余
    koa1链接mongodb
    koa的跨域访问
    mongodb 降序
    mongodb 分页(limit)
    mongodb 查询数据
  • 原文地址:https://www.cnblogs.com/mgfsos/p/9070049.html
Copyright © 2011-2022 走看看