Maison  >  Article  >  développement back-end  >  Une discussion détaillée des spécificateurs finaux et de remplacement du c 11

Une discussion détaillée des spécificateurs finaux et de remplacement du c 11

高洛峰
高洛峰original
2017-01-23 14:04:542047parcourir

est le suivant :

//final,override出现在形参列表以及尾置返回类型之后
#include <iostream>
using namespace std;
struct B{
    virtual void f1(int) const;
    virtual void f2(int);
    void f3(int) final;//出错,final不能修饰非虚函数
};
struct D:B{
    void f1(int) const override ;//去掉const将出错,必须和基类中的函数原型一致,否则不能用override来表示覆盖
    void f2(int) final;//final说明继承D的派生类中不能覆盖该函数
    void f3();
};
struct E:B{
    void f2(int);//ok,其直接基类B中该函数没有final说明符
};
struct F:D{
    void f2(int);//出错,无法覆盖该函数,原因是其直接基类D中有final说明符
};

final signifie que la fonction virtuelle ne peut pas être remplacée, et override signifie que la fonction remplace une fonction virtuelle

La discussion détaillée de l'article ci-dessus sur les spécificateurs finaux et de remplacement c 11 est tout le contenu partagé par l'éditeur. J'espère qu'il pourra vous donner une référence, et j'espère que vous soutiendrez le site Web PHP chinois.

Pour des articles plus détaillés sur les spécificateurs c 11 final et override, veuillez faire attention au site Web PHP chinois !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn