C++ override使用详解

C++ override使用详解C++override从字面意思上,是覆盖的意思,实际上在C++中它是覆盖了一个方法并且对其重写,从而达到不同的作用。在我们C++编程过程中,最熟悉的就是对接口方法的实现,在接口中一般只是对方法进行了声明,而我们在实现时,就需要实现接口声明的所有方法。还有一个典型应用就是在继承中也可能会在子类覆盖父类的方法。   公有继承包含两部分:一是“接口”(interface),二是”实现”

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

       C++ override从字面意思上,是覆盖的意思,实际上在C++中它是覆盖了一个方法并且对其重写,从而达到不同的作用。在我们C++编程过程中,最熟悉的就是对接口方法的实现,在接口中一般只是对方法进行了声明,而我们在实现时,就需要实现接口声明的所有方法。还有一个典型应用就是在继承中也可能会在子类覆盖父类的方法。

      公有继承包含两部分:一是“接口”(interface),二是 “实现” (implementation)。

      例如Person类的几种成员函数的继承方式:

class Person{
public:
    virtual void Eat() const = 0;    // 1) 纯虚函数
    virtual void Say(const std::string& msg);  // 2) 普通虚函数
    int Name() const;  // 3) 非虚函数
};

class Student: public Person{ ... };
class Teahcer: public Person{ ... };

Jetbrains全家桶1年46,售后保障稳定
1.纯虚函数

纯虚函数,继承的是基类成员函数的接口,必须在派生类中重写该函数的实现:

Person *s1 = new Student;
s1->Eat(); // calls Student::Eat

Person *t1 = new Ellipse;
t1->Eat(); // cal
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/219078.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • python报错no module named_pycharm报错no module named

    python报错no module named_pycharm报错no module namedpycharm在运行时出现“ModuleNotFoundError:Nomodulenamed‘pygame’”错误的解决方法例如:(出现这样子的错误,再出错的地方点击installpygame后,代码还是会出现上面的错误,这时候,我手动安装之后代码就能正常运行了。)手动安装pygame:通过文件—设置—项目解释器(File-setting-Projectinterpreter),点击“+”,搜索pygame,点击左下角的安装即可。如下图所示:右侧下方点击“+”:在搜索框

  • MacBook安装Windows_macbookpro安装双系统

    MacBook安装Windows_macbookpro安装双系统MacBook安装Redis官方下载地址:https://redis.io/download官方提供安装的相关命令了#下载redis包wgethttp://download.redis.io/releases/redis-4.0.10.tar.gz#解压tar-zxvfredis-4.0.10.tar.gz#进入目录cdredis-4.0.10#编译make#启动redis服务src/redis-server#启动redis客户端连接src/redis-cli

    2022年10月23日
  • 阿里ECS云服务器买来之后必做的几个操作

    阿里ECS云服务器买来之后必做的几个操作今天我为大家带来的是如何在云服务器中配置自己的环境。在这里先说明一下我的配置,我使用的是阿里云服务器ECS+Ubuntu20.0464位来实现的,不同的服务器和不同的系统版本可能会导致操作有些许不同,如果你是华为云或者腾讯云又或者是百度云的用户,还请自己多多摸索,大致的思路是一样的。废话不多说,我们现在就开始来着手实现吧——此处我们是假设你已经购买好阿里云ECS云服务器哦!1.检查你的安全组首先,我们要做的是打开你的安全组,检查你的22端口是否被开启,只有当端口

  • mac进入路径_mac终端找不到命令

    mac进入路径_mac终端找不到命令如果你想将当前commandline会话切换到其他目录,需要用到三个命令:pwd,ls和cd。pwd的含义是“printworkingdirectory”,会显示当前目录的绝对路径。 ls的含义是“listdirectorycontents”,它会列出当前目录的内容。这个命令还有其他参数可选。 cd的含义是“changedirectory”,它会改变当…

    2022年10月10日
  • docker镜像操作_docker 本地镜像

    docker镜像操作_docker 本地镜像前言Docker的三大核心概念:镜像、容器、仓库。初学者对镜像和容器往往分不清楚,学过面向对象的应该知道类和实例,这跟面向对象里面的概念很相似我们可以把镜像看作类,把容器看作类实例化后的对象。|

  • Ubuntu 18.04 浏览器安装flash[通俗易懂]

    flash官网(注意下载和系统浏览器相对应的包)PPAPI:供Opera(15以上)、Chromium(开源谷歌)浏览器使用NPAPI:适用于FireFox(火狐)、Safari(苹果)、Opera(欧朋,12.17版以下)然后解压:tar-zxvfflash_player_npapi_linux.x86_64.tar.gz复制:sudocplibflashplay…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号