首页 > 其他分享 >override关键字表示该函数会覆盖基类中的虚函数

override关键字表示该函数会覆盖基类中的虚函数

时间:2023-03-24 16:14:14浏览次数:37  
标签:函数 getName 关键字 radius 基类 override

override关键字表示该函数会覆盖基类中的虚函数,即在派生类中重新实现了基类中的同名虚函数。

在C++中,派生类可以重载其父类的虚函数。使用override关键字可以很好地指出该函数是目标函数,因为当以下情况出现时,使用override关键字会在编译时帮助我们检查错误:

如果父类中没有具有相同签名的虚函数,则会发生编译错误。

如果函数签名参数与基类中的虚函数不匹配,则会发生编译错误。

如果该函数非虚函数,则会发生编译错误。

当我们使用override关键字覆盖基类中的虚函数时,我们可以确保函数签名和基类中的虚函数相同,并且将函数定义为virtual函数。这可以提高代码的可读性和可维护性,以及减少在虚函数的调用链中引入错误的风险。

例如,在以下示例中,我们在派生类中使用了override关键字:

// 基类
class Shape{
public:
    virtual double getArea() const = 0; // 纯虚函数
    virtual std::string getName() const { return "Shape"; }
};

// 派生类
class Circle : public Shape {
private:
    double radius;
public:
    Circle(double r) : radius(r) {}
    double getArea() const override { return 3.14 * radius * radius; } // 实现父类纯虚函数
    std::string getName() const override { return "Circle"; } // 重写父类虚函数
};

在这个例子中,我们使用了override关键字来覆盖Shape类中的虚函数 getArea() 和 getName(). 对于函数 getArea(), 我们使用关键字override以实现纯虚函数,在子类中继承必须实现该函数,同时也确保其参数签名与基类相同;对于函数 getName(), 我们再次使用override关键字进行了函数的重写

标签:函数,getName,关键字,radius,基类,override
From: https://www.cnblogs.com/wozhuyinghao/p/17252329.html

相关文章

  • 字符串操作函数
               ......
  • python函数递归例子
    tvs=["少年歌行:",['\t萧瑟:',['\t\t六皇子','\t\t萧楚河'],'\t无心','\t雷无桀']]defislist(sublist):foriinsublist:ifisinstance(i,list):#......
  • PHP array() 函数 //京鸿通信科技(深圳)有限公司//15507589165
    实例创建名为$cars的数值数组,赋三个元素给它,并打印包含数组值的文本:<?php$cars=array("Volvo","BMW","Toyota");echo"Ilike".$cars[0].",".$cars[1]."and......
  • python内置函数4
    round()math(模块)getattr()hasattr()setattr()delattr()eval()......
  • CreateThread——类内线程回调函数
    CreateThread的函数声明如下:点击查看代码HANDLEWINAPICreateThread(_In_opt_LPSECURITY_ATTRIBUTESlpThreadAttributes,_In_SIZE_TdwStackSize,_I......
  • Laravel 常用辅助函数
    阅读目录Laravel常用辅助函数辅助函数array_dot()辅助函数允许你将多维数组转换为使用点符号的一维数组array_get()函数使用点符号从多维数组中检索值public_path()返回......
  • AcWing 874. 筛法求欧拉函数
    \(AcWing\)\(874.\)筛法求欧拉函数一、题目描述给定一个正整数\(n\),求\(1∼n\)中每个数的欧拉函数之和。输入格式共一行,包含一个整数\(n\)。输出格式共一行,包......
  • malloc,calloc,realloc函数详解
    首先从思维导图大概了解一下malloc,realloc和calloc函数1.malloc函数函数功能:malloc能从堆区申请空间给与我们使用,同时返回那片空间所处的首位置的地址。从图我们也能看到mal......
  • python内置函数2
    sum()sorted()reversed()all()any()enumerate()zip()map()filter()......
  • python内置函数1
    abs()divmod()pow()len()ord()chr()id()min()max()......