重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
C++11新特性- 纯虚函数和final说明符如何使用?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!
成都创新互联科技有限公司专业互联网基础服务商,为您提供服务器托管,高防主机,成都IDC机房托管,成都主机托管等互联网服务。
个人以为,C++之所以适合架构设计,很大一个原因就是它可以对将来编程。比如可以通过public/protected/private来限定派生类对基类成员的访问,可以定义抽象类要求派生类必须实现的接口等。
当我们声明/定义了一个虚函数时候,派生类可以选择覆盖这个虚函数,也可以选择不覆盖。关于这一点,C++也提供了必要的方法,来要求派生类覆盖某些方法,这也可以看作是一种对将来编程。
纯虚函数
这并不是一个新技术,功能也非常简单:就是一旦某个基类声明了某个纯虚函数,它的派生类在实例化的时候就必须覆盖这个函数。
本例中注释掉了sub::f1()方法,所以在第27行就会发生编译错误。
final说明符
一般说来,有要求的覆盖的方法,就应该有禁止覆盖的手段。但是不知道为什么,这个功能到了C++11中才被引入。使用方法也很简单:只要在函数声明的后面添加final说明符即可。
代码基本没变,只是base::f1()声明的后面换成了final说明符。这时如果定义了sub::f1()方法,就会产生如上图的编译错误。
感谢各位的阅读!看完上述内容,你们对C++11新特性- 纯虚函数和final说明符如何使用大概了解了吗?希望文章内容对大家有所帮助。如果想了解更多相关文章内容,欢迎关注创新互联行业资讯频道。