当前位置: 首页 > news >正文

专注大连网站建设龙岗网站建设公司

专注大连网站建设,龙岗网站建设公司,抖音开放平台官网,开工作室需要什么条件写在最前。。。 请支持原创~~ 1. 功能 用在类中成员函数声明的地方,用以标记一个virtual function 是重写另一个 virtual function; 2. 语法 只声明时,override 紧跟参数的右括号,如果是纯虚函数,override 会出现在…

写在最前。。。

请支持原创~~ 

1. 功能

用在类中成员函数声明的地方,用以标记一个virtual function 是重写另一个 virtual function;

 

2. 语法

  • 只声明时,override 紧跟参数的右括号,如果是纯虚函数,override 会出现在 = 0 之前;
  • 类中定义时,override 在 函数体之前;

3. 举例

 

#include <iostream>struct A
{virtual void foo();void bar();virtual ~A();
};// member functions definitions of struct A:
void A::foo() { std::cout << "A::foo();\n"; }
A::~A() { std::cout << "A::~A();\n"; }struct B : A
{
//  void foo() const override; // Error: B::foo does not override A::foo// (signature mismatch)void foo() override; // OK: B::foo overrides A::foo
//  void bar() override; // Error: A::bar is not virtual~B() override; // OK: `override` can also be applied to virtual// special member functions, e.g. destructorsvoid override(); // OK, member function name, not a reserved keyword
};// member functions definitions of struct B:
void B::foo() { std::cout << "B::foo();\n"; }
B::~B() { std::cout << "B::~B();\n"; }
void B::override() { std::cout << "B::override();\n"; }int main()
{B b;b.foo();b.override(); // OK, invokes the member function `override()`int override{42}; // OK, defines an integer variablestd::cout << "override: " << override << '\n';
}

重写的函数加上override,那么该成员函数需要满足:

  • 成员函数为 虚函数;
  • 成员函数从父类继承,在子类重写;

另外,如同 关键字 final, 只是一个标识,在使用成员函数时有特殊的意义。而在其他情况下可以作为一个对象名、函数名、类名使用。

 

结果:

B::foo();
B::override();
override: 42
B::~B();
A::~A();

 

4. 原文摘录 

Specifies that a virtual function overrides another virtual function.
The identifier override, if used, appears immediately after the declarator in the syntax of a member function declaration or a member function definition inside a class definition.


1) In a member function declaration, override may appear in virt-specifier-seq immediately after the declarator, and before the pure-specifier, if used.
2) In a member function definition inside a class definition, override may appear in virt-specifier-seq immediately after the declarator and just before function-body.
In both cases, virt-specifier-seq, if used, is either override or final, or final override or override final.


In a member function declaration or definition, override specifier ensures that the function is virtual and is overriding a virtual function from a base class. The program is ill-formed (a compile-time error is generated) if this is not true.


override is an identifier with a special meaning when used after member function declarators: it's not a reserved keyword otherwise.

 

 

http://www.khdw.cn/news/38153.html

相关文章:

  • 小程序可以用手机网站吗网站seo重庆
  • 大连 网站制作 外贸广告公司经营范围
  • 什么网站需要icp备案网站开通
  • 网站会员注册系统源码怎么拿到百度推广的代理
  • 做网站 php j2eeseo优化排名推广
  • 小型网站制作企业网站建设
  • 虚拟主机网站推广公众号的9种方法
  • 苏州沧浪区做网站南宁seo排名优化
  • 自己做网站前期困难吗企业推广平台有哪些
  • 360建筑网挂靠网网站优化怎么做
  • 萧山做网站的企业百度视频
  • 通城网站建设营销怎么做
  • 网站制作书籍推广引流工具
  • 网站建设记在哪个科目一个新公众号怎么吸粉
  • 深圳双语网站制作推广策略有哪些方法
  • 不锈钢网站建设2023年7月疫情爆发
  • 网站的产品上传图片seo推广是什么意怿
  • 查询网站是否备案百度招聘平台
  • 自己的b2b网站建设网络运营与推广
  • 虎门网站建设价格广州网站排名推广
  • 品牌网站建设搭建a5站长网
  • 成都企业网站建站山西seo优化公司
  • 个人做视频网站烧钱印度疫情最新消息
  • 公众号怎么制作长图合肥seo代理商
  • 南皮做网站企业网络推广方式
  • 网页制作与前端开发泰州网站优化公司
  • 有学做衣服的网站吗视频号关键词搜索排名
  • 企业展示网站软件开发培训机构排名
  • 一个网站怎么做流量统计百度网盘网址是多少
  • 大气门户网站郑州官网网站推广优化公司