tidy - fuchsia-multiple-inheritance — Extra Clang Tools 22.0.0git documentation (original) (raw)
Warns if a class inherits from multiple classes that are not pure virtual.
For example, declaring a class that inherits from multiple concrete classes is disallowed:
class Base_A { public: virtual int foo() { return 0; } };
class Base_B { public: virtual int bar() { return 0; } };
// Warning class Bad_Child1 : public Base_A, Base_B {};
A class that inherits from a pure virtual is allowed:
class Interface_A { public: virtual int foo() = 0; };
class Interface_B { public: virtual int bar() = 0; };
// No warning class Good_Child1 : public Interface_A, Interface_B { virtual int foo() override { return 0; } virtual int bar() override { return 0; } };
See the features disallowed in Fuchsia at https://fuchsia.dev/fuchsia-src/development/languages/c-cpp/cxx?hl=en