C++,多态练习

这篇具有很好参考价值的文章主要介绍了C++,多态练习。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、定义基类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;
}

文章来源地址https://www.toymoban.com/news/detail-680937.html

到了这里,关于C++,多态练习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 第十一站:多态练习ODU

    ODU.h ODU335.h ODU.CPP ODU335.CPP main.cpp

    2024年01月21日
    浏览(42)
  • Java学习笔记---多态综合练习

    运行结果:

    2024年02月09日
    浏览(20)
  • Python基础合集 练习19(类与对象3(多态))

    class Horse: def init (self, name) - None: self.name = name class Monkey: def init (self, name) - None: self.name = name class Mule(Horse, Monkey): def init (self, name, age) - None: super(). init (name) self.age = age mule1 = Mule(‘朵儿’, 2) mule1.mover() # 继承父类horse的move()方法 mule1.speak() # 继承父类donkey的speak()方法 print(mule1

    2024年02月02日
    浏览(27)
  • C++ Primer 6.5 特殊用途语言特性 6.6 函数匹配 知识点+练习题

    在给定的作用域中一个形参只能被赋予一次默认实参 局部变量不能作为默认实参,函数结束就销毁,无法当作默认实参。 除此之外,只要表达式的类型可转换成形参所需要的类型,则可以作为默认实参 将函数定义为内联函数,即加上inline,在编译时内联展开代替函数 在编译

    2024年01月22日
    浏览(36)
  • Educoder/头歌JAVA——JAVA面向对象:封装、继承和多态的综合练习

    目录 第1关:封装、继承和多态进阶(一) 相关知识 面向对象思想 封装 继承 组合和继承 构造函数 super()和this() 编程要求 第2关:封装、继承和多态进阶(二) 相关知识 重写和重载 abstract(抽象类)和interface(接口) final static static的作用 多态 编程要求 第

    2024年02月04日
    浏览(42)
  • C# 类class、继承、多态性、运算符重载,相关练习题

    34.函数重载 35.几个相同的函数  print() ,用于打印不同的数据类型。   36.基类和派生类   37.基类的初始化   38.多重继承   39.动态多态性   40.抽象性和虚方法   41.通过虚方法 area() 来计算不同形状图像的面积   42.运算符重载的实现   @www.runoob.com 

    2024年02月09日
    浏览(31)
  • 【C++进阶】继承、多态的详解(多态篇)

    作者:爱写代码的刚子 时间:2023.8.16 前言:本篇博客主要介绍C++中多态有关的知识,是C++中的一大难点,刚子将带你深入C++多态的知识。(该博客涉及到的代码是在x86的环境下,如果是在x86_64环境下指针的大小可能需要变成8bytes) 多态的概念 多态的概念:通俗来说,就是多

    2024年02月12日
    浏览(28)
  • [C++] 多态(下) -- 多态原理 -- 动静态绑定

    上一篇文章我们了解了虚函数表,虚函数表指针,本篇文章我们来了解多态的底层原理,更好的理解多态的机制。 [C++] 多态(上) – 抽象类、虚函数、虚函数表 下面这段代码中,Func函数传Person调用的Person::BuyTicket,传Student调用的是Student::BuyTicket,这就是多态调用,但是这里我

    2024年02月04日
    浏览(34)
  • 【C++笔记】C++多态

    多态的概念: 在编程语言和类型论中,多态(英语:polymorphism)指为不同数据类型的实体提供统一的接口。多态类型(英语:polymorphic type)可以将自身所支持的操作套用到其它类型的值上。 计算机程序运行时,相同的消息可能会送给多个不同的类别之对象,而系统可依据对

    2024年02月08日
    浏览(23)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包