首页 > 其他分享 >手撕代码,函数重载和重写

手撕代码,函数重载和重写

时间:2023-09-07 15:25:35浏览次数:53  
标签:sound 函数 animal1 代码 virtual 重载 重写 animal2

#include <bits/stdc++.h>
using namespace std;

class animal {
public:
    // 纯虚函数
    // virtual void sound() = 0;

    // 虚函数
    virtual void sound() {
        cout << "animal sound" << endl;
    }
    void sound(string s) { //sound函数重载
        cout << s << endl;
    }
    void sound(string s1, string s2) { //sound函数重载
        cout << s1 << s2 << endl;
    }
};
class cat :public animal {
public:
    void sound() { // 重写虚函数
        cout << "cat sound" << endl;
    }
};

class dog :public animal {
public:
    void sound() { // 重写虚函数
        cout << "dog sound" << endl;
    }
};

int main()
{
    animal* animal1 = new cat();
    animal* animal2 = new dog();
    animal* animal3 = new animal();
    animal3->sound("重载1");
    animal3->sound("重载", "2");
    animal1->sound();
    animal2->sound();
    delete animal1;
    delete animal2;
    system("pause");

    return 0;
}

 

标签:sound,函数,animal1,代码,virtual,重载,重写,animal2
From: https://www.cnblogs.com/yzqiang/p/17684998.html

相关文章

  • Acegi-security-samples-tutorial-1.0.7.zip 实例代码解析
    前面一篇文章,展现了Acegi的作用:现在我将对其中的代码进行讲解:web.xml文件:<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEweb-appPUBLIC'-//SunMicrosystems,Inc.//DTDWebApplication2.3//EN''http://java.sun.com/dtd/web-app_2_3.dtd'......
  • 纯代码设计窗口界面
    编译过程中中文失效可在.cpp文件下添加:#pragmaexecution_character_set("utf-8")1、头文件:【主要工序:添加头文件、声明变量(所用控件)、声明槽函数】(1)添加用到控件的头文件,#include<QDialog>#include<QCheckBox>#include<QRadioButton>#include<QPlainTextEdit>#include<......
  • 9-7|salt代码在linux机子那个目录
    如果你是通过包管理器(如`apt`,`yum`,`zypper`等)安装的SaltStack,那么代码和相关文件通常会分布在多个目录下。以下是一些常见的目录和它们的用途:1.**配置文件**: -`/etc/salt/minion`:salt-minion的主配置文件。 -`/etc/salt/master`:salt-master的主配置文件。2.......
  • Java低代码开发:jvs-list(列表引擎)功能(二)字段及样式配置
    字段的增减进入列表页设计器-页表设计界面,点击新增一行、或者删除按钮,可以对字段进行增减操作,如果对于权限的列表页,可以使用批量创建字段的按钮:字段的批量设置,点击批量添加如下图所示字段为中文名称,每一行为一个字段,默认去除空格默认字段系统提供创建人、创建时间、修改人、修改时......
  • 掌握Java常用机制,让你的代码更优雅
    Java是一种面向对象的编程语言,它提供了许多常用的机制来简化编程过程。以下是Java中一些常用的机制:异常处理机制:Java中的异常处理机制可以帮助程序员捕获和处理程序运行时的错误。通过使用try-catch语句块,程序员可以捕获特定类型的异常,并在发生异常时执行相应的代码。例如:try{......
  • 《自己动手建搜索引擎》日志分析类代码解析与修正为兼容lucene3.0.2
    搜索日志是用来分析用户搜索行为和信息需求的重要依据。一般记录如下信息:搜索关键字用户来源IP本次搜索返回结果数量搜索时间其他需要记录的应用相关信息  例如:搜索时间|日志类型|搜索类型|搜索关键字|IP地址|本次搜索返回结果数量, 存放日志文件内容如下:2008-04......
  • vscode 代码没有错误提示
    之前为了解决vue装饰器写法报错,在.eslintrc.js文件加入legacyDecorators:true就可以支持装饰器的写法了。parserOptions:{//解析器parser:'babel-eslint',ecmaFeatures:{//支持装饰器legacyDecorators:true}}, 但是后来发现vsco......
  • 代码片段
    通过反编译生成的,所以没有注解//GetFileName.javapackagecom.api.weavernorth.gyrx.web;importcom.alibaba.fastjson.JSONArray;importcom.alibaba.fastjson.JSONObject;importcom.api.weavernorth.gyrx.util.Utils;importcom.engine.common.util.ParamUtil;impo......
  • 代码随想录算法第一天704
    代码随想录算法第一天|704.二分查找、27.移除元素学习(复习)数组理论基础:​ (https://programmercarl.com/数组理论基础.html)​ 新了解到Java中数组地址不是连续的。704.二分查找题目题目链接:https://leetcode.cn/problems/binary-search/文章讲解:https://programmercarl.......
  • py 导入json到redis的代码示例
    这里是一个py导入json到redis的代码示例,它会将字典、列表和元组类型的值序列化为JSON字符串。在这个修改后的脚本中,使用`json.dumps()`函数对这些数据类型进行序列化处理。```pythonimportjsonimportredis#替换为您的JSON文件路径及Redis服务器连接参数json_file_pa......