47 lines · plain
1.. title:: clang-tidy - fuchsia-multiple-inheritance2 3fuchsia-multiple-inheritance4============================5 6Warns if a class inherits from multiple classes that are not pure virtual.7 8For example, declaring a class that inherits from multiple concrete classes is9disallowed:10 11.. code-block:: c++12 13 class Base_A {14 public:15 virtual int foo() { return 0; }16 };17 18 class Base_B {19 public:20 virtual int bar() { return 0; }21 };22 23 // Warning24 class Bad_Child1 : public Base_A, Base_B {};25 26A class that inherits from a pure virtual is allowed:27 28.. code-block:: c++29 30 class Interface_A {31 public:32 virtual int foo() = 0;33 };34 35 class Interface_B {36 public:37 virtual int bar() = 0;38 };39 40 // No warning41 class Good_Child1 : public Interface_A, Interface_B {42 virtual int foo() override { return 0; }43 virtual int bar() override { return 0; }44 };45 46See the features disallowed in Fuchsia at https://fuchsia.dev/fuchsia-src/development/languages/c-cpp/cxx?hl=en47