#ifndef OVERRIDDEN_METHODS_H_
#define OVERRIDDEN_METHODS_H_
class BaseClass {
public:
virtual ~BaseClass() {}
virtual void SomeMethod() = 0;
virtual void SomeOtherMethod() = 0;
virtual void SomeInlineMethod() = 0;
virtual void SomeConstMethod() const = 0;
virtual void SomeMethodWithExceptionSpec() throw() = 0;
virtual void SomeConstMethodWithExceptionSpec() const throw(int) = 0;
virtual void SomeNonPureBaseMethod() {}
virtual void SomeMethodWithComment() = 0;
virtual void SomeMethodWithCommentAndBody() = 0;
};
class InterimClass : public BaseClass {
virtual void SomeMethod() = 0;
};
namespace blink {
class WebKitObserver {
public:
virtual void WebKitModifiedSomething() {}
};
}
namespace webkit_glue {
class WebKitObserverImpl : blink::WebKitObserver {
public:
virtual void WebKitModifiedSomething() {}
};
}
class DerivedClass : public InterimClass,
public webkit_glue::WebKitObserverImpl {
public:
virtual ~DerivedClass() {}
virtual void SomeMethod();
void SomeOtherMethod() override;
virtual void SomeInlineMethod() {}
virtual void WebKitModifiedSomething();
virtual void SomeConstMethod() const {}
virtual void SomeMethodWithExceptionSpec() throw() {}
virtual void SomeConstMethodWithExceptionSpec() const throw(int) {}
virtual void SomeNonPureBaseMethod() {}
virtual void SomeMethodWithComment(); virtual void SomeMethodWithCommentAndBody() {} };
class BaseClassWithDefaultedVirtualDtor {
public:
virtual ~BaseClassWithDefaultedVirtualDtor() = default;
};
class DerivedClassWithDefaultedDtor : public BaseClassWithDefaultedVirtualDtor {
public:
DerivedClassWithDefaultedDtor();
~DerivedClassWithDefaultedDtor() = default;
};
#endif