zoukankan      html  css  js  c++  java
  • C++11: final与override

      • C++11中增加了final与override关键字,貌似是从Java语言中借鉴而来,用途也一样。看例子代码:

        01.#include <iostream>
        02. 
        03.using namespace std;
        04. 
        05./* use final on a class to prevent inheriting; compilation error */
        06.class /* final */ {
        07.public:
        08./* use final on a method to prevent override; compilation error */
        09.virtual void func(int/* final */ { cout << "A::func()" << endl; }
        10.};
        11. 
        12.class B : public A {
        13.public:
        14./* use override to make the compiler checks that we are indeed overriding an inherited method */
        15.virtual void func(int) override { cout << "B::func()" << endl; }
        16. 
        17./* virtual void func(char) override {} compilation error; new method (see signature), does not override existing */
        18.};
        19. 
        20.int main() {
        21.A t;
        22.t.func(2);
        23. 
        24.B u;
        25.u.func(3);
        26.}

        程序输出:
        A::func()
        B::func()

         

  • 相关阅读:
    hanoi(老汉诺塔问题新思维)
    ABP文档
    ABP文档
    ABP文档
    ABP文档
    ABP文档
    ABP文档
    ABP文档
    ABP文档
    ABP框架
  • 原文地址:https://www.cnblogs.com/lvdongjie/p/4490492.html
Copyright © 2011-2022 走看看