C++,多态练习

2023-10-27

一、定义基类Animals,以及多个派生类,基类中至少包含虚函数perform()

#include <iostream>

using namespace std;

class Aniamls
{
private:
    string cry;
public:
    Aniamls() {}
    Aniamls(string cry):cry(cry) {}
    virtual void perform() = 0;  //纯虚函数
};

class Cat:public Aniamls
{
private:
    string c_cry;
public:
    Cat() {}
    Cat(string c_cry,string cry):Aniamls(cry),c_cry(c_cry) {}
    void perform()
    {
        cout << "喵喵喵..." << endl;
    }
};

class Dog:public Aniamls
{
private:
    string d_cry;
public:
    Dog() {}
    Dog(string d_cry,string cry):Aniamls(cry),d_cry(d_cry) {}
    void perform()
    {
        cout << "汪汪汪..." << endl;
    }
};
int main()
{
    Cat c;
    Dog d;
    Aniamls *p;
    p = &c;
    p->perform();
    p = &d;
    p->perform();
    return 0;
}

二、用函数模型实现不同数据类型的交换功能 

#include <iostream>
#include <iomanip>
using namespace std;

template <typename T>
void fun(T &a,T &b)
{
    T temp;
    temp = a;
    a = b;
    b = temp;
}

int main()
{
    int a = 10,b = 20;
    fun(a,b);
    cout << a << setw(5) << b << endl;

    double c = 1.2,d = 2.5;
    fun(c,d);
    cout << c << setw(5) << d << endl;
    return 0;
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++,多态练习 的相关文章

  • QCombobox 向下箭头图像

    如何更改Qcombobox向下箭头图像 现在我正在使用这个 QSS 代码 但这不起作用 我无法删除向下箭头边框 QComboBox border 0px QComboBox down arrow border 0px background
  • 使用 Enumerable.OfType() 或 LINQ 查找特定类型的所有子控件

    Existed MyControl1 Controls OfType
  • VS 程序在调试模式下崩溃,但在发布模式下不崩溃?

    我正在 VS 2012 中运行以下程序来尝试 Thrust 函数查找 include cuda runtime h include device launch parameters h include
  • 类特定的新删除运算符是否必须声明为静态

    标准中是否要求类特定的 new new delete 和 delete 是静态的 我可以让它们成为非静态成员运算符吗 为什么需要它们是静态的 它们被隐式声明为静态 即使您没有键入 static
  • GCC 和 ld 找不到导出的符号...但它们在那里

    我有一个 C 库和一个 C 应用程序 尝试使用从该库导出的函数和类 该库构建良好 应用程序可以编译 但无法链接 我得到的错误遵循以下形式 app source file cpp text 0x2fdb 对 lib namespace Get
  • ASP.Net Core 内容配置附件/内联

    我正在从 WebAPI 控制器返回一个文件 Content Disposition 标头值自动设置为 附件 例如 处置 附件 文件名 30956 pdf 文件名 UTF 8 30956 pdf 当它设置为附件时 浏览器将要求保存文件而不是打
  • 时间:2019-03-17 标签:c#ThreadSafeDeepCopy

    我一直在阅读很多其他问题以及大量谷歌搜索 但我一直无法找到明确的解决方案 根据我读过的一些最佳实践 类的静态方法应该创建线程安全的 并且实例成员应该将线程安全留给消费者 我想为该类实现深度复制方法 该类本身还有其他引用类型成员 有没有什么方
  • 单例模式和 std::unique_ptr

    std unique ptr唯一地控制它指向的对象 因此不使用引用计数 单例确保利用引用计数只能创建一个对象 那么会std unique ptr与单例执行相同 单例确保只有一个实例属于一种类型 A unique ptr确保只有一个智能指针到
  • 为什么 set_symmetry_difference 无法与比较器一起使用?

    Example program include
  • Visual Studio Code:如何配置 includePath 以获得更好的 IntelliSense 结果

    我是使用 Visual Studio Code 的完全初学者 我不知道我在做什么 我已经四处搜索 也许还不够 但我找不到像我这样的人如何配置的简单解释c cpp properties json每当我单击带有绿色波浪线下划线的行旁边的黄色灯泡
  • 如何从文本文件读取整数到数组

    这就是我想做的 我对此有些不满 但我希望你能容忍我 这对我来说是一个非常新的概念 1 在我的程序中 我希望创建一个包含 50 个整数的数组来保存来自文件的数据 我的程序必须获取用户的文档文件夹的路径 2 文件的名称为 grades txt
  • AES 输出是否小于输入?

    我想加密一个字符串并将其嵌入到 URL 中 因此我想确保加密的输出不大于输入 AES 是可行的方法吗 不可能创建任何始终会创建比输入更小的输出的算法 但可以将任何输出反转回输入 如果您允许 不大于输入 那么基本上您只是在谈论同构算法alwa
  • 每个租户的唯一用户名和电子邮件

    我正在使用以下代码编写多租户应用程序ASP NET Core 2 1 我想覆盖默认的与用户创建相关的验证机制 目前我无法创建多个具有相同的用户UserName My ApplicationUser模型有一个名为TenantID 我想要实现的
  • 是否有相当于 Clang/LLVM 的 .spec 文件,在哪里可以找到参考?

    The gcc驱动程序可以配置为使用特定的链接器 特定的选项和其他细节 例如覆盖系统头 specs files 当前 截至撰写本文时 GCC 版本 4 9 0 的手册此处描述了规范文件 https gcc gnu org onlinedoc
  • .NET Core 中的跨平台文件名处理

    如何处理文件名System IO以跨平台方式运行类以使其在 Windows 和 Linux 上运行 例如 我编写的代码在 Windows 上完美运行 但它不会在 Ubuntu Linux 上创建文件 var tempFilename Dat
  • 使用taskkill停止Windows服务

    我需要帮助来使用 C 终止 Windows 服务 现在要终止该服务 请使用以下选项 从命令 sc queryex ServiceName 发现后PID服务的 taskkill pid 1234 exemple f 为了便于阅读 但如果您明白
  • 每个数据库多个/单个 *.edmx 文件

    我有一个通过 ADO net 数据服务与数据库交互的项目 数据库很大 近 150 个具有依赖关系的表 该项目几年前开始 当时使用的是数据集 现在我们正在转向实体模型关系 由于我们添加了更多需要使用的表 该模型正在不断增长 这是管理这一切的正
  • C++ Streambuf 方法可以抛出异常吗?

    我正在尝试找到一种方法来获取读取或写入流的字符数 即使存在错误并且读 写结束时间较短 该方法也是可靠的 我正在做这样的事情 return stream rdbuf gt sputn buffer buffer size 但如果streamb
  • 在简单注入器中解析具有自定义参数的类

    我正在使用以下命令创建 WPF MVVM 应用程序简易注射器作为 DI 容器 现在 当我尝试从简单注入器解析视图时遇到一些问题 因为我需要在构造时将参数传递到构造函数中 而不是在将视图注册到容器时 因此这不是适用的 简单注入器将值传递到构造
  • 将 char[][] 转换为 char** 会导致段错误吗?

    好吧 我的 C 有点生疏了 但我想我应该用 C 来做我的下一个 小 项目 这样我就可以对其进行抛光 并且我已经有不到 20 行的段错误了 这是我的完整代码 define ROWS 4 define COLS 4 char main map

随机推荐

  • C/C++ 语言实现使用LU分解求解线性方程组

    应用计算方法C语言程序 02 接应用计算方法C语言程序 01 C C 语言实现矩阵LU分解 Doolittle A 以计算方法课本例题4 6为例 设矩阵A b分别为 A 3 3 1 3 3 2 1 1 2 3 4 b 3 1 2 1 利用C
  • oracle随机数 — dbms_random

    oracle随机数 dbms random ORACLE的PL SQL提供了生成随机数和随机字符串的多种方式 罗列如下 1 小数 0 1 select dbms random value from dual more 2 指定范围内的小数
  • fseek用法:int fseek(FILE *stream, long offset, int origin);

    1 SEEK SET 从文件开头开始定位 参数必须大于0 2 SEEK CUR 从文件当前位置开始定位 参数可正可负 3 SEEK END 从文件末尾开始定位 参数必须小于0 include
  • (附源码)springboot自习室座位预约系统 毕业设计674156

    springboot自习室座位预约系统 摘要 在社会快速发展的影响下 教育事业蓬勃发展 大大增加了学校的数量 多样性 教育质量等要求 使教育的管理和运营比过去更加困难 依照这一现实为基础 设计一个快捷而又方便的自习室座位预约系统是一项十分重
  • 判断聚类 n_clusters

    目录 基本原理 代码实现 肘部法则 Elbow Method 轮廓系数 Silhouette Coefficient Gap Statistic 间隙统计量 Calinski Harabasz Index Calinski Harabasz
  • js中对new Date() 中转换字符串方法toLocaleString的使用。

    提供特定于区域设置的日期和时间格式 dateTimeFormatObj new Intl DateTimeFormat locales options dateTimeFormatObj 必需 将 DateTimeFormat 对象分配到的
  • 《C++ Primer Plus》第四章 复合类型 4.12复习题答案

    1 char actor 30 0 short bstsie 100 0 float chuck 13 0 long double dipsea 64 0 2 array
  • QT 窗口与视口(setWindow/setViewPort)的一些理解与整理

    QPainter drawRect QRectF 绘制图形传入的是世界坐标 而后经过变换矩形变为窗口坐标 最后经过窗口 视口变换变为设备坐标 其中世界坐标系和窗口坐标系都属于逻辑坐标系 设备坐标系属于物理坐标 世界坐标 窗口坐标和设备坐标
  • ffmpeg编译,ffplay播放RTSP流,音频格式为AAC-ELD

    rtspServer已经ready 音频格式为AAC ELD encoder 为libfdk aac 发现VLC和ffplay不能正常解码AAC ELD FFmpeg可以支持3钟AAC LC编码器 aac libfaac libfdk aa
  • 改变 el-dialog 的宽度

    在 el dialog 增加 customClass 且在全局 style 里 写 style 去掉scoped
  • VS2022 无法启动程序,不是有效的Win32应用程序

    如果这里确定是 exe了 那就点击生成 gt 重新生成解决方案 不要点击生成解决方案 那个没用 然后就行了
  • 登录数据库

    登录数据库 数据库 数据库是一个以某种有组织的方式存储的数据集合 理解数据库的一种最简单的办法是将其想象为一个文件柜 此文件柜是一个存放数据的物理位置 不管数据是什么以及如何组织的 数据库 database 就是保存有组织的数据的容器 通常
  • JSON.stringify()的深入用法——第2、3个参数

    第2个参数 作用 用于过滤 格式化 没有或者是null 则所有属性被序列化JSON stringify name Ben age 18 JSON stringify name Ben age 18 null name Ben age 18
  • 信息检索复习笔记

    第一讲 搜索 IR 信息检索是什么样的学科 实质上是融合了文本及多媒体检索 数据挖掘 机器学习和自然语言处理的综合学科 为什么要进行信息检索 信息过载 搜索 搜索的过程 从大规模非结构化数据 通常是文本 的集合 通常保存在计算机上 中找出满
  • java高级:注解

    目录 认识注解 自定义注解 元注解 解析注解 注解的应用场景 认识注解 自定义注解 注解和反射一样 都是用来做框架的 我们这里学习注解的目的其实是为了以后学习框架或者做框架做铺垫的 先来认识一下什么是注解 Java注解是代码中的特殊标记 比
  • linux配置定时crontab任务详细步骤

    liunx服务器系统为suse 以这个为例 每一步都进行过测试 请按照步骤来 1 首先查看服务器crontab任务 crontab l 出现上图 表示没有配置任何定时任务 如果出现no crontab for root不用管 2 创建执行脚
  • 2020全国职业技能大赛嘉兴市“网络空间安全赛项”赛题及赛题解析(超详细)

    2021年中职组 网络空间安全 赛项 一 嘉兴市竞赛任务书 二 任务书解析 三 任务书答案 四 不懂的可以私信博主 一 嘉兴市竞赛任务书 一 竞赛时间 8 00 11 00 共计180分钟 二 竞赛阶段 竞赛阶段 任务阶段 竞赛任务 竞赛时
  • 用java的stream流库在实际项目的使用案例

    由于自己用stream lambda很不熟悉 用文章记录在一个电商项目中的用法 购物车模块 获取购物车 校验 是否有商品 库存 List
  • 5岁自学python编程-三十岁了还可以学编程吗?只要你想,只要你做,什么时候都不晚...

    文章有点长 希望你可以看完 如果能给迷茫的朋友一点勇气 我不胜荣幸 做一件事最好的时间是十年前 其次是现在 如果想学编程却苦于不知道从何开始 也没有系统的学习路径 那就来加入我们一起学习 在这里不必担心年龄大 因为你肯定不是最大的 在这里不
  • C++,多态练习

    一 定义基类Animals 以及多个派生类 基类中至少包含虚函数perform include