[ Web Proxy ]
URL:
Viewing: https://ru.cppreference.com/cpp/language/override [Back]  [Original]

override ( C++11) cppreference.com
cppreference.com

override ( C++11)

cppreference.com

, .

override, , - - .

-- () - () (1)
-- () - (2)
1) - override -- -, .
2) - override -- -.

--, , override, final, final override, override final.

- override , . ( ), .

override , -: .

#include <iostream>

struct A
{
    virtual void foo();
    void bar();
    virtual ~A();
};

//  -  A:
void A::foo() { std::cout << "A::foo();\n"; }
A::~A() { std::cout << "A::~A();\n"; }

struct B : A
{
//  void foo() const override; // : B::foo   A::foo
                               // ( )
    void foo() override; // OK: B::foo  A::foo
//  void bar() override; // : A::bar   
    ~B() override; // OK: `override`     
                   //  -,  
    void override(); // OK,  -,     
};

//  -  B:
void B::foo() { std::cout << "B::foo();\n"; }
B::~B() { std::cout << "B::~B();\n"; }
void B::override() { std::cout << "B::override();\n"; }

int main() {
    B b;
    b.foo();
    b.override(); // OK,  - `override()`
    int override{42}; // OK,   
    std::cout << "override: " << override << '\n';
}

:

B::foo();
B::override();
override: 42
B::~B();
A::~A();

final(C++11) , []

Web Proxy Viewer  |  New URL  |  Original Page