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

高洛峰
Libérer: 2017-01-23 14:04:54
original
2064 Les gens l'ont consulté

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说明符
};
Copier après la connexion

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 !

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal