频道澳门葡京手机版网址
登录注册
澳门葡京手机版网址 > 澳门葡京手机版网址 > App开发 > 其他 > 正文
C++11 override解析
2018-08-15 10:57:56           
收藏   我要投稿

先来看一段话:

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

override是C++11中的一个继承控制关键字,override确保一个函数为虚并重写基类的虚函数。

声明了该关键字,则编译器会检查基类虚函数和派生类该虚函数的签名匹配与否问题,如果签名不匹配,则编译器会发出错误信息。

举个例子:

class base
{
public:
 virtual void func1();
 virtual void func2() const;
 vitrual void func3(int a);
 void func4();
};

class derive : public base 
{
public:
 virtual void func11() override; // virtual可写可不写,推荐不写编译不通过-基类没有同名虚函数
 virtual void func2() override;  // 编译不通过-常量性不一致
 virtual void func3(double a) override;  // 编译不通过-参数类型不一致
 void func4() override;  // 编译不通过-不是虚函数
};
点击复制链接 与好友分享!回澳门葡京手机版网址澳门葡京手机版网址
上一篇:python中关于不同维数组之间的转换
下一篇:SpringMVC 如何将请求找到匹配的处理方法
相关文章
图文推荐
点击排行

关于大家 | 联系大家 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 澳门葡京手机版网址_澳门新莆京娱乐_www.88807.com - 点此进入--致力于做实用的IT技术学习网站

XML 地图 | Sitemap 地图